最近、zsh とscreen を使い始めました。こりゃ便利ですね!特にzsh は便利すぎます。
- cd で直前にいたディレクトリ以外にも一発ジャンプできる
- svn とうって、Tab 押すと、diff とかupdate とかのコマンド候補一覧が補完対象として表示される
- scp コマンドとかの際に、リモートマシン上のファイルに対しても補完機能が働く
- screen と併用した際に、コマンド履歴を共有できる
- 誤ってコマンドをうつと、「もしかしてこれ?」てきなものを聞いてきてくれる
などなど、まだ浅い部分しか使えてないと思いますが、それでもめちゃくちゃ便利です。Introduction of the ZSHにも、「それ、zsh でできるよ!」ってことが沢山書かれています。
zsh を導入したい方には新入学生/新社会人応援企画:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2) - ITmedia エンタープライズが分かりやすいと思います。
プロンプトの設定
なんか、前置きの方が長くなってしまったo(;゚Д゚)o
.zshrc で、プロンプトの表示を設定する際に上手く行かなかったのでメモ。zsh のプロンプと表示をLinux の形式に設定する。
- .zshrc
PS1="[${USER}@${HOST%%.*} %1~]%(!.#.$) "
僕の環境では、ホームディレクトリにいる場合は以下のように表示されます。
[luke@macbook ~]$
メモ
- ${USER}@${HOST%%.*} => lukesilvia@macbook
「.*」 と設定すると、ホスト名のうち、最初の「.」の前までしか表示しない。この設定をしないと、macbook.local とか表示できます。
- %1~ => (カレントが/usr/local/bin だとすると)bin
カレントディレクトリのパス の内、最下層のディレクトリ。パスを全て表示すると長くなるので、最下層のみ表示させてます。また、「~」をつけることで、ホームディレクトリにいる場合には「~」として表示されます。
- %(!.#.$) => (現在のユーザがroot ユーザでないとすると)#
root ユーザでログインしている場合は#, その他のユーザの場合は$ になります。