はじめに
こんにちは、野村です。
今回は、普段使っている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
終わりに
デレクトリ移動や入力補完の際の挙動が新鮮。
なんだか賑やかで楽しいですね。
というわけで、今回はこれにて。