この記事をシェアする

oh-my-zshで最強のシェルzshをスタートダッシュする!

改めて自分の設定を破棄して、こちらで管理することを決断した@HIROCASTERでございませう。

ずっと、bashを使ってきましたが、数年前からzshに乗り換えて、さらにzshを拡張するに至っています。

スポンサーリンク

oh-my-zshとは?

oh-my-zshとは、zshの設定ファイルを管理するためのフレームワークです。oh-my-zshに最初からコミュニティによって、追加されたプラグインが入っており、それを有効化するだけで、シェルでよく使われるような便利な機能や補完が有効になります。

プログラマーとして拡張させていくために

oh-my-zshの一定のルールに基づく設定ファイルの管理によって、自分自身の設定ファイルをモジュール化でき、簡素かつ柔軟にに管理できるようになるのが、プログラマとしてシェルを拡張していく人のメリットです。

だらだらっと、1ファイルに書き連ねていくのは、もうやめましょう。

oh-my-zshのインストール

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.zshrc ~/.zshrc.orig # 念のためバックアップ
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s /bin/zsh # 起動シェルをzshにしていない人のみ

念のため、何かあったら困るので別ウィンドウで、シェルを新たに立ち上げる。

テーマの変更

~/.zshの以下の部分を公開されているテーマに変更すると好みのテーマを利用する事ができる。

ZSH_THEME="robbyrussell"

初期設定の上記のテーマで、シンプルなので、まぁいいか。

プラグインの有効化

oh-my-zshではプラグイン構造が構築されており、~/.oh-my-zsh/plugins/以下にプラグインが最初からいくつかある。

有効にしたいプラグインを~/.zshの以下の部分に書き足して、有効化しないと使えない。

plugins=(git)

使いそうなコマンドを有効化した。

plugins=(apache2-macports autojump bundler cap compleat
  extract gem git git-flow github knife mysql-macports
  node mpn osx rails rake ruby rvm vagrant)

それぞれのプラグインの中身を見てから追加することを推奨します。単なるAliasを貼ってあるだけのものもあったりするので、そりゃあんたが勝手につくったAliasだから僕は一度も使い分けがない。という感じの設定があったりします。

プラグインの追加・拡張

独自にプラグインを追加する場合は、~/.oh-my-zsh/custom/plugins/以下にプラグインを置いてやる。

exampleという名前のプラグインをつくる場合、以下のようなファイル名になる。

~/.oh-my-zsh/custom/plugins/example/example.plugin.zsh

基本的には独自の拡張や設定はすべてプラグインにして、設定することが望ましいといえる。

独自のプラグインを作成

試しにhirocasterプラグインを作成してみる。

~/.oh-my-zsh/custom/plugins/hirocaster/hirocaster.plugin.zsh

というファイルを作成し、中身をこんな感じにしておく。

export LANG=ja_JP.UTF-8
export EDITOR=emacs
export PATH=~/bin:$PATH

プラグインを有効にして、新たに起動したシェルで、設定を確認する。

➜  ~  echo $LANG
ja_JP.UTF-8
➜  ~  echo $EDITOR
emacs

バッチリ!

oh-my-zshのプラグイン構造で設定ファイルを管理すべし

この様にoh-my-zshを利用して、今まで1ファイルにダラダラ書いてあったりする.zshrcをプラグインにわけて、モジュール化して管理してみてはどうだろうか。

今までは、if文を利用して環境によって、有効・無効にするような設定をして、.zshrcファイルがついつい長めになってしまっていたので、includeして設定ファイルをわけていたが、oh-my-zshのプラグイン構造を利用して今後は管理していこうと思う。

zshの本 (エッセンシャルソフトウェアガイドブック)

zshの本 (エッセンシャルソフトウェアガイドブック)

広瀬 雄二

スポンサーリンク

この記事をシェアする

著者をフォローする