Bash
Zsh
Terminal

モダンShell?zshに乗り換えた話

More than 5 years have passed since last update.


はじめに

私はシェルに無頓着だったんですが、最近自宅のお遊び開発用 VM で Ubuntu Server 14.04 のクリーンインストールをやったので、これを機にシェルを zsh に変更してみました。

ついでに zsh-completions を入れて、強力なサポート機能を追加しています。


目的


  • zsh のインストール

  • コマンド補完定義 zsh-completions のインストール


導入


zsh


1. 本体のインストール

標準リポジトリに登録されているので aptitude または apt-get で一発。

sudo aptitude -y install zsh


2. .zshrc の作成

色々探し回りましたが zsh を使い倒していないので良し悪しもよくわかりません。

そこで、丁寧にコメントが付いている 少し凝った zshrc @mollifier をお借りしました。

# ~/.dotfiles/zsh 以下に本体を配置し、シンボリックリンクで参照。

mkdir -p ~/.dotfiles
cd ~/.dotfiles
git clone https://gist.github.com/4979906.git zsh
ln -s ~/.dotfiles/zsh/zshrc_useful.sh ~/.zshrc

内容は上記リンク先の Gist でご確認ください。


zsh-completions

配布ページ の Usage によると Debian 系と RPM 系のパッケージはまだ作成されていないようなので、同ページの手順に従って導入します。

FHS に従えば、 /usr/local/share 以下に導入するのが妥当かと思います。

Homebrew の Formula もそのような実装になっています。


1. zsh-completions を clone

cd /usr/local/share

sudo git clone git://github.com/zsh-users/zsh-completions.git


2. .zshrc に設定を追記

先の zshrc_useful.sh の39行目あたりにある autoload -Uz compinit より前 に追記します。

compinit は補完候補リストファイル .zcompdump を生成するコマンドです。

fpath=(/usr/local/share/zsh-completions/src $fpath)


3. 補完候補リストファイルの再生成

rm -f ~/.zcompdump; compinit

これで、補完候補に zsh-completions のものが含まれるようになりました。


4. ログインシェルを変更して再ログイン

chsh コマンドでログインシェルを変更します。

パスワードと、 zsh の実行パスを入力します。

chsh

パスワード: (パスワードを入力)
Changing the login shell for hidetaka
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /usr/bin/zsh

zsh の実行パスがわからない場合は which zsh で確認できます。


参考リンク

ヾ(o゚ω゚o)ノ゙bashからzshに移行して2014年を迎えよう![ログインシェル] @harapeko_wktk


以上です。