zshの環境構築。
以下のサイトを参考にさせていただきました。
/usr/share/doc/zsh/examplesにzshrc.gzがあるので、これをベースに構築しました。
$ cd /usr/share/doc/zsh/examples
$ cp zshrc.gz ~
$ cd ~
$ gunzip zshrc.gz
$ mv zshrc .zshrc
グローバル・エイリアス。「ls -ltr | tail」が「ls -ltr -g T 10」に省略出来る。便利!
alias -g L='| less'
alias -g H='| head'
alias -g T='| tail'
alias -g G='| grep'
alias -g W='| wc'
alias -g S='| sed'
alias -g A='| awk'
alias -g W='| wc'
プロンプト。色付き。
local GREEN=$'%{\e[1;32m%}'
local BLUE=$'%{\e[1;34m%}'
local DEFAULT=$'%{\e[1;m%}'
PROMPT=$BLUE"[${USER}@${HOST}] %(!.#.$) "$DEFAULT # default prompt
RPROMPT=$GREEN'[%~]'$DEFAULT # prompt for right side of screen
履歴。10万件まで保存。複数セッションで共有。重複除外。
HISTFILE=~/.zsh-history
HISTSIZE=100000
SAVEHIST=100000
setopt extended_history
setopt share_history
setopt hist_ignore_dups
function history-all { history -E 1 }
履歴検索。「vi」と打った状態でCtrl+P/Nでviから始まるコマンド履歴を検索。
autoload history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^P" history-beginning-search-backward-end
bindkey "^N" history-beginning-search-forward-end
バインドキー。viモードに設定。マジックスペース有効。タブ入力で文字補完。
bindkey -v # vi key bindings
bindkey ' ' magic-space # also do history expansion on space
bindkey '^I' complete-word # complete on tab, leave expansion to _expand
補完機能を有効。
autoload -U compinit
compinit
前方予測機能を有効に。履歴をフル活用して可能な限り補完。ウザイほどに補完しまくります。軽く使ってみましたが、重いのでオフにするかも。
autoload predict-on
predict-on
以上。おかげさまでキーを数回入力するだけで勝手に文字が出たり、妙にカラフルだったりするイイカンジの環境になりました。examplesにあったので残したままにしているオプションがいっぱいあるので徐々に整理していきたいです。
余談。PuTTYとUTF8Teratermを両方試してるんですが、UTF8Teratermだとvimがあまりカラフルにならない感じ。どういう設定すればいいんじゃろう?