最近のzshまわり
色々変更加えたので今どんな感じなのかメモっておく。
zaw
https://github.com/zsh-users/zaw
zsh で使える anything ライクなインターフェイス。 自分で絞り込み対象を追加できるみたいだけど、 いまのところデフォルトのもので事足りてる。
source ~/dev/clone/zaw/zaw.zsh zstyle ':filter-select' case-insensitive yes bindkey '^xb' zaw-git-branches bindkey '^xd' zaw-cdr bindkey '^xh' zaw-history
z も使ってみたけど
zaw-cdr
の方が便利な気がした。
zaw-history
は、設定してはいるけど
SAVEHIST
を 500000 とかにしているので重すぎて使ってない。
syntax-highlighting
https://github.com/zsh-users/zsh-syntax-highlighting
存在しないコマンドが赤くなるのが便利。
prompt
以下のものを表示するようにしている。
- ホスト名
- カレントディレクトリ
- vcs情報
- 現在時刻
autoload -Uz vcs_info zstyle ':vcs_info:*' formats '%s:%b' zstyle ':vcs_info:*' actionformats '%s:%b[%a]' function _update_vcs_info_msg() { psvar=() LANG=en_US.UTF-8 vcs_info [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_" } add-zsh-hook precmd _update_vcs_info_msg if [ "${TERM}" != "dumb" ]; then autoload colors colors PROMPT="%B%F{black}-- %D{%Y/%m/%d %H:%M:%S} -- %B%F{cyan}%m:%F{yellow}%/ %1(v|%{${fg[green]}%}%1v%f |) %F{cyan}%F{red}%(!,#,$)%{${reset_color}%}%b " PROMPT2="%{${fg[orange]}%}%_ %%%{${reset_color}%} " SPROMPT="%{${fg[yellow]}%}%r%{${reset_color}%} is correct? [n, y, a, e]: " fi
vcs 関連の表示は以下のエントリを参考にしている。
もっと高機能な設定方法が紹介されているが、 表示がワンテンポ遅くなるしそこまでの情報量は必要ないと感じたので ブランチ名の表示くらいしか使ってない。
表示されるのはこんなやつ。
deneb:/Users/handle $ cal 1月 2013 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -- 2013/01/20 18:30:02 -- deneb:/Users/handle $
現在時刻の表示が案外便利。
prompt (mysql)
zsh に直接関係するものではないけれど。 現在選択中のデータベース名を表示するようにしている。
export MYSQL_PS1='mysql \d > '
操作ミスやいちいち今どこにいるのか確認する手間が減って良い。
おわり
emacs
、zsh
、Google Chrome
は確実に毎日使う道具なので、
便利な機能はどんどん追加していきたいところ。