bashからzshに移行してみたらシェルが賑やかになりました

はじめに

こんにちは、野村です。

今回は、普段使っているdebianのデフォルトのシェルをbashからzshに移行したときの記録です。

移行する理由は「気が向いたから」。
zshって、ちょっと気になる存在だったのですよ。
やっぱ、気になったらすみやかに実行すべきじゃないでしょうか?

インストールと導入

管理ユーザになって以下のコマンドを実行します。

# apt install zsh

通常のユーザに戻って、デフォルトのシェルを変更します。

$ chsh -s /bin/zsh

いったんログアウトして再度ログインします。どうなるのだろ?

メニューが表示された。
よくわからないので「0」を押してみた。

そうすると、今まで「$」だったプロンプトが「%」になっている。
成功ってことかもしれない。

~/.zshrc を書く

で、いろいろ試してみたけど、なんだか使い心地がよくない。
それもそのはず。 ~/.zshrc を覗いてみたら、コメント行が1行だけしか書いてなかった。
なので、見よう見まねでいろいろ書いてみましたよ。

export LANGUAGE=ja_JP.UTF-8
export locale=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export LANG=ja_JP.UTF-8

alias fbt='fbterm -a -- uim-fep'
alias screen='screen -U -q'

stty stop undef

export TERM=screen

# 色を使用
autoload -Uz colors
colors

# 補完
autoload -Uz compinit
compinit

# emacsキーバインド
bindkey -e

# 他のターミナルとヒストリーを共有
setopt share_history

# ヒストリーに重複を表示しない
setopt histignorealldups

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000

# cdコマンドを省略して、ディレクトリ名のみの入力で移動
setopt auto_cd

# 自動でpushdを実行
setopt auto_pushd

# pushdから重複を削除
setopt pushd_ignore_dups

# コマンドミスを修正
setopt correct

# backspace,deleteキーを使えるように
stty erase ^H
bindkey "^[[3~" delete-char

# cdの後にlsを実行
chpwd() { ls -ltr --color=auto }

# どこからでも参照できるディレクトリパス
cdpath=(~)

# Ctrl+sのロック, Ctrl+qのロック解除を無効にする
setopt no_flow_control

# 補完後、メニュー選択モードになり左右キーで移動が出来る
zstyle ':completion:*:default' menu select=2

# 補完で大文字にもマッチ
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

# Ctrl+rでヒストリーのインクリメンタルサーチ、Ctrl+sで逆順
bindkey '^r' history-incremental-pattern-search-backward
bindkey '^s' history-incremental-pattern-search-forward

#パスを通す
path=(
    ~/bin
    $path
)

反映させるときは、以下のコマンドを実行。

% source ~/.zshrc

終わりに

デレクトリ移動や入力補完の際の挙動が新鮮。
なんだか賑やかで楽しいですね。

というわけで、今回はこれにて。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

野村 野村のプロフィール
メインPCはWindows10のVirtualBox上のFreeBSD。Linux/Unixの小ネタを求めて日々右往左往してたりする。