ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

zshを使うぜよ

この記事はbrew版のzshのインストールとoh-my-zshの設定についてメモっています。

いままではなんとなくshlleはbashを使っていました。 というかshlleについてとくに意識したことがなかったです。。。はい。

使うにあたった経緯としましては、gitのブランチ名をプロンプトに表示させて便利にしたい!と思っていた所にこんな記事を発見したからです。 怠惰にgitを使うためのシェル活用術、またはgst一族

おお!これはめっちゃ便利!

どうやら「zsh」というのを使っているなー。じゃあ入れてみよう!

手順

  • brew版のzshのインストールとログインシェルの変更
  • oh-my-zshの設定

brew版のzshのインストールとログインシェルの変更

今回、こちらの記事を参考にさせて頂きました「Mac/LionのTerminalをzshに設定する」 ありがとうございます。

自分はLionをつかっているのですが、デフォルトでzsh 4.3.11がインストールされていました。ただ、最新版ではないようでしたので、homebrewをつかって最新版をインストールします。

$ brew install zsh

インストール後は

/usr/local/bin/zsh

ここですんなりインストールできると思ったのですが、自分の環境ではエラーとなり、「brew unlink zsh」を実行しないとダメでした。これってなんででしょうか^^;

インストールがうまくいくとこんなメッセージが

To use this build of Zsh as your login shell, add it to /etc/shells. If you have administrator privileges, you must fix an Apple miss configuration in Mac OS X 10.7 Lion by renaming /etc/zshenv to /etc/zprofile, or Zsh will have the wrong PATH when executed non-interactively by scripts. Alternatively, install Zsh with /etc disabled: brew install --disable-etcdir zsh

ログインシェルに使うなら/etc/shellsに追加してねと書いてあるらしい

shellsをエディタで開いて/usr/local/bin/zshを追加

# 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

あと、/etc/zshenvを/etc/zprofile にリネームしてねとも書いてあるらしい。

$ mv zshenv zprofile

以下のコマンドでログインシェルをzshにする

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

oh-my-zshの設定

oh-my-zshの設定については、こちらの記事を参考にさせて頂きました「zshに乗り換えました」 ありがとうございます。

まずgithubからダウンロードします。 ダウンロードしたあとに既存の.zshrcはリネームしておくといいです。 もしすでになにか設定を書いている場合はそれをカスタイズとして使用することも出来るからです。

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh  
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc  

ここで一度ターミナルを再起動させればoh-my-zshが反映されていると思います。

oh-my-zsh

カスタム設定

~/.oh-my-zsh/custom

ここにリネームしておいた.zshrcを置き、適当なファイル名で拡張子を.zshにします。 これでカスタム設定が可能です。

なんとoh-my-zshにするとすでにブランチ名と状態がわかるようになっています!これはすごく便利! また、テーマがたくさん用意されているのでこちらから選んで変更も可能です。 テーマが決まったら.zshrcに記述します。

ZSH_THEME="Soliah"

zshに変えた感想としては、補完機能が優れていると思いました。 tabを押して候補が出てくるのですが、emacsのキーバイドで候補を選択できるのでとても使いやすい(emacs使っているからですが^^;)と感じました。

とりあえずは、zshを覚えていこうと思います。