しろかい!

アプリ開発や機械学習などの開発Tips.

【Mac】シェルをbashからzshに変更する方法

Macのターミナルのシェルをbashからzshに変えたので,方法をメモしておきます.

f:id:shun9167:20150124181128p:plain

参考にしたページ

以下のページを参考にさせていただきました. http://qiita.com/harapeko_wktk/items/47aee77e6e7f7800fa03
基本的にはこのページに沿って設定すればOKですが、自分なりに変更した部分もあるので、それを含めて以下に記します。

brew update

最新版のzshbrewでインストールしたいので,まずはbrewを最新の状態にします.

$ brew update

するとエラーが.

Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

下記コマンドで直りました.

$ cd $(brew --prefix)
$ git fetch origin
$ git reset --hard origin/master

zshのインストール

下記コマンド一発でできます.

$ brew install zsh

ログインシェルをzshに変更

vimなどで/etc/shellsルート権限で開き,以下の1行を末尾に追加します.

/usr/local/bin/zsh

その後,下記コマンドを実行し,パスワードを入力すればログインシェルが最新版のzshになります.

$ chsh -s /usr/local/bin/zsh

zshの設定

zshの設定ファイルは~/.zshrcになります.
とりあえず,僕は少し凝った zshrc · GitHubをコピペさせていただきました.
また,これまで使っていたbashの設定ファイルの内容で必要なものも ~/.zshrcに記述しました.

zsh-completionsのインストール

デフォルトでは補完できないようなものも補完してくれるプラグインだそうです.
インストールは下記コマンド一発です.

$ brew install zsh-completions

インストールしたら,zsh-completionsを反映させます.
~/.zshrcの「autoload -Uz compinit」という記述より上ならどこでもいいので,以下を追加します.

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

また,以下の部分を変更します.

変更前

# 補完機能を有効にする
autoload -Uz compinit
compinit

変更後

# 補完機能を有効にする
autoload -Uz compinit
compinit -u

lsのディレクトリ色を変更

背景に黒などの暗い色を使っている場合,lsコマンドで表示されるディレクトリの色が青なので非常に見づらいです.
そこで,下記の記述を~/.zshrcに追加してマゼンタに変更します.

# lsのディレクトリ色をマゼンタに
export LSCOLORS=Exfxcxdxbxegedabagacad

おわりに

以上で一通りの設定はできました.
ちなみに反映させるにはターミナルを再起動するのが手っ取り早いかと思います.

他にzshには腐るほどカスタマイズ方法があるようなので,色々調べて自分なりのシェルにしてみてはいかがでしょうか.