zshrcの設定
前回まで
前回のエントリでzshをターミナルで使うように設定しました.
今回は設定ファイルであるzshrcをいじいじしていきます.
実際に書いてみた
LANG
まずは環境変数LANGを設定します. zshから実行するコマンドがLANGで指定したロケールで動作するようです.
export LANG=ja_JP.UTF-8
PROMPT
次にプロンプトを設定します.色付けをしたいので以下の記述を追加.
# use color autoload -U colors colors
これで色を使えるので以下のような記述を追加しました.
local p_cdir="$'\n'%B%F{green}[%~]%f%b"$'\n' local p_info="%F{yellow}%n@%m%f" PROMPT="$p_cdir$p_info > "
%B%bで太字,%F%fで色付けが出来るみたい. %~でカレントディレクトリ,%nでユーザ名,%mで計算機名を表示してます.
このプロンプトの設定だとこんな感じの表示に.
うむ,なかなかいい感じですね.
vcs_info
いやいやしかし.zshを使おう!というのはそもそもgitのブランチがいい感じに表示されてるのが理由だったのだけれども.それはどうやって設定するんだろう?
なにやら右プロンプトとvcs_infoというのが大事そう.早速使ってみる.
zshのプロンプトにGitのブランチ名を表示する - きたけーTechブログ
ここを参考に設定.
autoload -Uz vcs_info # 表示フォーマットの指定 # %b ブランチ情報 # %a アクション名(mergeなど) zstyle ':vcs_info:*' formats '[%b]' zstyle ':vcs_info:*' actionformats '[%b|%a]' precmd () { psvar=() LANG=en_US.UTF-8 vcs_info [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_" }
これでバージョン管理システムの情報が取れるのだとか.
プロンプトの部分を以下のように変更してみた.
# prompt local p_cdir=$'\n'"%F{green}[%~]%f"$'\n' local p_info="%F{yellow}%n@%m%f" PROMPT="$p_cdir$p_info > %F{cyan}%1v%f"
このときの表示がこれ.
おー見える見える.
RPROMPT
じゃあこれをいい感じ(右プロンプト)にしてみよう.
どうやらRPROMPTにかけば良さげ.しかも一回書いたら消える設定まであるとか.ほうほう.
# prompt local p_cdir=$'\n'"%F{green}[%~]%f"$'\n' local p_info="%F{yellow}%n@%m%f" PROMPT="$p_cdir$p_info > " RPROMPT="%F{cyan}%1v%f" # disappear RPROMPT after command setopt transient_rprompt
上のように書くと
おーこれはいい感じ.
とりあえずこれで当初の目的は果たせた. あとはzsh使うのに便利そうな設定を入れて行きます.
git-completion
git-completionを前から使ってたのでそれをzshでも使えるようにします.
curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.zsh
git-completion.bashのあるところにgit-completion.zshをおきました.依存関係があるのでbashの方も入れておかなくちゃダメみたいです.後は以下の記述で有効にしておく.
autoload -U compinit compinit -u
おわりに
あとは個人的なaliasの設定を移植して,これでもともと使ってたbashと同じような環境になりました!
今度は友人が使ってた補完された候補間をカーソルキーで選択できるようにしてみたい. まぁそれは気が向いたらで.