この記事は すごい広島 #9 で行なったことです。

Pure という シンプルなプロンプトを提供する zshスクリプト を導入してみました。

機能としては

  • バージョン管理システムのブランチを表示
  • git の管理下で、ワークツリーに変更がある場合は * が表示される
  • 実行の長いコマンドを実行した時に実行時間が表示される
  • デフォルトのユーザと違う場合は ユーザ名@ホスト名

といった機能があります。

カレントパス と ブランチ名を表示している部分は print を使い出力していて、PROMPT は > だけの表示となってます。 そのため Ctrl+l を入力すると非常にすっきりした画面になります。

設定方法

私は ~/zsh.d/ に zsh のスクリプトを集めていますので、それを前提に書きます。

wget https://raw.github.com/sindresorhus/pure/master/prompt.zsh -O ~/.zsh.d/prompt.zsh

そして ~/.zshrc を編集します。

# wget https://raw.github.com/sindresorhus/pure/master/prompt.zsh -O ~/.zsh.d/prompt.zsh
local username=''
DEFAULT_USERNAME='eiel'
[ $USER != $DEFAULT_USERNAME ] && local username='%n@%m '

ダウンロードした prompt.zsh をいじらなくて済むように、少しだけ細工しています。

DEFAULT_USERNAME には自分の ユーザ名を入れます。

導入するとこんな感じになりました。

pure prompt

まとめ

バージョン管理の情報は PROMPT3 に表示していたのですが、コピペするとき邪魔になるので変えたかったので、試しました。

git submodulezsh のパッケージ管理システムを使って管理したいですが、今回は wget を使う方法をとりました。 zsh のパッケージ管理システムってあるんだろうか。

特に プロンプトをいじっていない場合は、ここからカスタマイズしていくのも良いのではないでしょうか。