2012-09-24
zsh導入 - kshとbash、zshの比較
職場ではksh、家ではbashを使っていたわたしですが、ついにbashに代えてzshを導入することにしました。
導入の決め手
- 端末間の履歴共有
- コマンドオプションの補完機能
1. 端末間の履歴共有
bashとzsh
- bashで端末を複数枚開くと、historyコマンドで参照できる履歴が端末ごとに別々になってしまう
- 普段、screen(byobu)で複数の端末をいっぺんに使っているので、履歴が共有されないと不便
- zshなら、設定で複数端末間の履歴を共有できる
bashとksh
- ちなみに、kshはデフォルトで複数端末間の履歴が共有される
- サーバー作業だと、別の人の履歴が割り込んできて不便なことも
- サーバーのシェルなら、むしろ履歴共有しないbashが適当かも
2. コマンドオプションの補完機能
ksh
- タブを押すとタブが挿入される。
- タブを押すとタブが挿入される。
- 大事なことなので2回言いました
bash
- タブを押すとディレクトリ補完が可能
- タブを押すとコマンド名の補完が可能
- コマンドのオプションまでは補完してくれない
zsh
- タブを押すとディレクトリ補完が可能
- タブを押すとコマンド名の補完が可能
- コマンドを入力してからタブを押すと、オプションまで補完してくれる
Ubuntuへの導入
インストール
sudo aptitude install zsh
または
sudo apt-get install zsh
デフォルトのシェルに設定
chshコマンドを実行したユーザーのデフォルトのシェルに設定されます。
chsh -s /bin/zsh
(パスワードを聞かれたら、ユーザーのパスワードを入力)
初回起動時、初期設定の画面が出ますが、後で編集可能なのでqで終了して大丈夫です。
zshの設定
zshの設定は、主にホームディレクトリの.zshrcファイルに記述します。このあたりはbashと同様です。zshでググると設定例がたくさん見つかります。ありがたく使わせてもらいましょう。
my設定
参考
2006-05-17 - はてな技術発表会日記 http://hatena.g.hatena.ne.jp/hatenatech/20060517