イケてるターミナルをコマンド1つで作れるoh-my-zsh!gitのブランチ名だって表示できる!

シェル

こんにちは。仁科(@nishina555)です。

プログラミングをする人であれば1度はターミナルをカスタマイズしたことがあるのではないでしょうか。

ターミナルの環境を整えることで、見た目が美しくなってモチベーションがあがるというメリットがありますし、なにより作業効率の向上も期待できます。

例えば、シェルの設定を変更することで以下のようなイケてる見た目のターミナルを構築できます。


Gitのブランチ名やGitのコミット状態、現在のディレクトリなどがパッと見てわかりますし、gstgit statusコマンドを叩くようにエイリアス(= ショートカットキー)も設定されています。

こんなカッコいいターミナルの環境僕も作りたいけど、色々カスタマイズたいへんそうだなー

いいえ、一瞬でできます。そう、oh-my-zshならね!!

ということで、今回はターミナル環境を一瞬で構築できるoh-my-zshの紹介をしたいと思います。

なお、oh-my-zshの名前からもわかるように、利用するシェルはzshの前提で説明をしていきます。

また、ターミナルのカスタマイズの中には正確にいうと、シェル環境以外にもvimをはじめとするエディタ環境、tmuxをはじめとするターミナルマルチプレクサ環境なども含まれています。

しかし、今回の言葉の定義としては『ターミナルのカスタマイズ = シェルのカスタマイズ』ということで話を進めていきます。

oh-my-zshは『いい感じに設定されたzsh環境を一瞬で構築できるツール』

zshの設定をカスタマイズするには.zshrcという設定ファイルを変更します。
.zshrcを変更することでターミナルの色を変えたり、独自のエイリアスを用意することができます。

oh-my-zshとはいい感じのターミナル環境を.zshrcに設定してくれるツールで、oh-my-zshを利用することで自力でカスタマイズしなくてもイケてるターミナルをすぐに手に入れることができます。

僕はエンジニアという職業柄、ペアプロなどを通じて色々な人のターミナルをみる機会があります。
その際にイケてるターミナルだなと思って話を聞いてみると、実はoh-my-zshを使っていたということが結構あります。

1コマンドだけ!oh-my-zshで自分のターミナルをカスタマイズ

ここからはoh-my-zshを利用してターミナルをカスタマイズする方法について説明していきます。

まずはoh-my-zshをインストールします。
こちらに書いてあるように、以下のコマンドを叩くことで自分の環境でoh-my-zshが使えるようになります。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

たった、これだけで完了です!
シェルをリロードしたら以下のようにイケてるターミナルができているはずです。

oh-my-zshのプラグインを追加すればより便利な環境になる

oh-my-zshをインストールするだけでもいいのですが、oh-my-zshにはプラグインが豊富に用意されており、プラグインを追加することで便利なエイリアスなどが利用できます。

詳しくはこちらをご覧になってください。

デフォルトではgitのプラグインのみが利用できるようになっています。

.zshrc

# .zshrcでoh-my-zshのプラグインを読み込んでいる部分
plugins=(
  git
)

自分の利用状況に合わせてプラグインを追加してください。

読み込むoh-my-zshのテーマを変えることでターミナルの見た目が変わる

oh-my-zshにはプラグインだけでなく、テーマも豊富に用意されています。テーマを変更することで自分好みのターミナルに変更することができます。

テーマの一覧はこちらから確認できます。

oh-my-zshでは.zshrcでテーマを読み込んでターミナルの環境を構築しています。

テーマを読み込んでいるのは以下の行です。

.zshrc

ZSH_THEME="robbyrussell"

ですので、読み込むテーマを変更することでターミナルの環境を変えることができます。

oh-my-zshのテーマを自作することでより自分好みのターミナルが作れる

oh-my-zshでは読み込むテーマをもとに環境が構築されます。
そのため、テーマを自作することによってより自分好みのカスタマイズができるようになります。

  • いい感じのテーマが見つかったけど色が少し気にくわない
  • ターミナルで表示される情報をもう少し追加したい

そのように思うのであれば、テーマを自作するといいでしょう。

ゼロからテーマを作るのは面倒なので、自分が欲しいと思う環境に近いテーマを見つけ、そのテーマをベースに修正を加えるのがいいでしょう。
あとは、.zshrcで自作したテーマファイルを読み込めばOKです。

僕の場合は既存のmuseというテーマの配色を少しだけカスタマイズしたものを自作しました。

muse

museのカスタマイズ

既に存在する.zshrcはバックアップファイルとしてリネームされる

人によってはoh-my-zshをインストールする以前に.zshrcに色々と自分の設定を追加している人もいると思います。

oh-my-zshをインストールすると新しく.zshrcが作成され、既存の.zshrc.zshrc.pre-oh-my-zshという名前でバックアップされます。

そのため、oh-my-zshをインストールすることによって今までの設定が使えなくなる可能性があります。 特に独自のエイリアスを.zshrcに書いているのであればそのショートカットは使えなくなります。

oh-my-zshの.zshrcと既存の.zshrcを共存させる方法【自分の場合】

  • oh-my-zshで用意されているテーマを利用したい
  • 自分で用意したエイリアスもつかえるようにしたい

上記の二つを同時に実現するには.zshrcをまとめる必要があります。

色々とやり方があると思いますが、自分の場合はoh-my-zshで作成される.zshrcを既存の.zshrcから読み込ませるという方法で実現させました。

# oh-my-zshで作成されたzshrcをリネーム
mv ~/.zshrc ~/.oh-my-zshrc

# バックアップされた既存のzshrcを元の名前に戻す
mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc

.zshrc

# oh-my-zshの内容を取り込むため、先ほどリネームしたファイルを読み込む
source ~/.oh-my-zshrc

上記の設定をすることでoh-my-zshのテーマを利用しながら、自作のエイリアスも活用することができます。
このあたりはより良い方法があればおしえてもらえればと思います。

まとめ

今回は簡単にイケてるターミナルを一瞬で手に入れられるoh-my-zshの紹介をしました。

開発環境のカスタマイズはひと昔前であればゼロから作るのが一般的でした。しかし、oh-my-zshを利用すれば手間をかけずともそれなりにいい環境はすぐに作成できます。

『どうやってカスタマイズしていけばいいかわからない』、『短時間で開発環境を整えたい』という人にとってoh-my-zshは有力な選択肢の一つとなりますのでぜひ利用してみてはいかがでしょうか?

この記事がいいなと思いましたらツイッター(@nishina555)のフォローもよろしくお願いします!