前置き
Macのリカバリの際、以前より気になっていたbashからzshへの乗り換えを実施してみたので、そのメモ。
zshの特徴
- ユーザーの起動している全ての zsh でコマンド履歴を共有することができる。
- 様々な互換モードがある。例えば、zshをshとして実行したとき、bashの振りをするようにできる。
- 殆ど全部のカスタマイズが可能。
- プロンプトテーマ
個人的にはプロンプトテーマが一番大きいかも。
インストール方法
Mac標準でも入っているらしいが、バージョンが古いのでHomeBrewで最新版をインストール。
$ brew install --disable-etcdir zsh
HomeBrew経由のzshパスを追加。
$ sudo vi /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh #ここに追加
oh-my-zshをインストール
zshに切り替えてみて、gitコマンドが使えなくて困ってたところでoh-my-zshの存在を知ったので使ってみたら、使い勝手が良いのでこちらを利用。
oh-my-zshとは?
githubのrobbyrussell/oh-my-zshで管理されているzshを管理するフレームワーク。
特徴
- 豊富なプロンプトテーマ
- 便利なプラグイン
- 自動アップデート機能
というわけで、便利且つデザイン面でもメリットは高そうなのでインスール。
インストール手順
oh-my-zsh / README.textileの「The manual way」に記載されてるが・・・
.oh-my-zsh
にレポジトリをclone。
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
すでに既存の~/.zshrc
があると思うので、一応バックアップ。
cp ~/.zshrc ~/.zshrc.orig
テンプレートをコピーして~/.zshrc
に上書き。
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
zshへ切り替えで完了。
chsh -s /usr/local/bin/zsh
テーマの編集
デフォルトだと robbyrussell になっている。
個人的にはあまり好きではないので、変更。
$ vi ~/.zshrc
でZSH_THEME
箇所を修正。
# ZSH_THEME="robbyrussell"
ZSH_THEME="kolo" #ここに好きなthemeを
koloはgitのbranch表示とか分かりやすかったのでこちらを選んでみました。
この辺はお好みで。
zsh を再起動すると新しいテーマへ変更される。
その他設定等
プラグイン
デフォルトだとgitコマンドのみなので必要なプラグインを追加。
以下コマンドでプラグインの一覧を確認できる。
$ ls ~/.oh-my-zsh/plugins/
19行目あたりに記述がある。
plugins=(git)
ここを下記のように必要に応じてプラグインを追加。
# plugins=(git)
plugins=(git ruby python mysql) #こんな感じに変更
自動アップデート
githubから自動でpullしてくるように設定が可能
export DISABLE_AUTO_UPDATE="true" #ここをコメントアウト