CLIとは、Command Line Interfaceの略で、いわゆる黒い画面のことです。この記事では、iTerm2とpreztoをインストールし、それぞれ設定することでCLIの見た目や機能をカスタマイズする方法を紹介します。
iTerm2は、macで使えるターミナルアプリです。mac純正のターミナルではできない細かな設定や、hotkeyの設定、画面分割などができます(tmuxが使える方であれば、画面分割はターミナルでも出来ます)。
preztoは、zsh(シェル)のフレームワークです。preztoを使うと、プロンプトのテーマの設定やコマンドの補完を簡単に設定できるようになります。
どちらのインストールにもHomebrew(Homebrew Cask)を使うので、公式サイトなどを参考にインストールしておいてください。
やること
- iTerm2をインストールする
- iTerm2の設定
- ログインシェルをzshに変更する
- preztoでzshのプロンプトを設定する
iTerm2をインストールする
brew caskを使ってiTerm2をインストールするため、まず、iTerm2がインストールできるかを確認します。
$ brew search iterm2 ==> Casks iterm2 homebrew/cask-versions/iterm2-legacy
上記のように表示されれば、下記のコマンドを入力し、パスワードを入力してインストール完了です。
$ brew cask install iterm2 Updating Homebrew... ==> Downloading https://iterm2.com/downloads/stable/iTerm2-3_3_9.zip 〜省略〜 iterm2 was successfully installed!
iTerm2の設定
上記の方法でインストールが完了したら、アプリケーションフォルダやLaunchpadにiTerm2が入っているのが確認できると思います。iTerm2を起動し、設定を行っていきます。
色の設定
メニューバーのiTerm > Preferences > Profiles > Colors で、文字や背景、カーソルなどの色の設定ができます。
文字や背景色を自分好みに設定したり、同設定画面の右下にあるColor Presetsからプリセットを選ぶことが出来ます。
また、プリセットはネットから拾ってきてインポートすることも出来ます。ネットで公開されているプリセットは、デザインの専門家が「目に優しい色」「読みやすい色」など色々と工夫をこらして設計されているものが多いです。
私は、Icebergというプリセットを使っています。
Icebergを使う場合、下記のコマンドでカラーテーマをgithubからダウンロードし、
$ curl -O https://raw.githubusercontent.com/Arc0re/Iceberg-iTerm2/master/iceberg.itermcolors
Color PresetsにあるImportから、ダウンロードしたiceberg.itermcolorsを選択すればOKです。
プリセットをIcebergに設定した場合、このような色になります

フォントの設定
メニューバーのiTerm > Preferences > Profiles > Text から、フォントや文字の大きさを設定することが出来ます。
私は、ここは初期設定のままで使っています。
背景色の透過設定
メニューバーのiTerm > Preferences > Profiles > Window > Transparency から、背景の透過を設定できます。
背景がちょっと透けるとなんとなくかっこよくなってテンションが上ります。
iTerm2の便利な機能
iTerm2には、mac純正のターミナルにはない便利な機能があります.
画面分割
command + d
で、画面を左右に分割できます。上下の分割はcommand + shift + d
です。分割した画面は、command + [
、command + ]
で移動できます。分割した画面を削除したいときはcommand + w
です。

画像のように、アクティブになっている画面は濃く、それ以外の画面は薄く(白っぽく)表示されます。
hotkey
hotkeyとは、どの画面からでもショートカットキーでiTerm2をすぐ利用できる機能です。
メニューバーのiTerm > Preferences > Keys > Hotkey から、Show/hide all windows with a system-wide hotkey にチェックを入れてください。初期設定ではoption + space
がhotkeyに設定されています。
使ってみていただくとよくわかると思うのですが、設定したhotkeyを入力すると、iTerm2の表示/非表示が瞬時に切り替わって、かなり便利です。dockからiTerm2のアイコンを探したり、command + Tab
を連打して画面を切り替えたりする手間が省けます。
ログインシェルをzshに変更する
preztoはzshのフレームワークなので、まずはログインシェルをzshに設定します。(MacOS Catalina からはデフォルトでログインシェルがzshになっているため、Catalinaの方はここの対応は特に必要ありません。)
chsh -s /bin/zsh
上記のコマンドを入力し、パスワードを入力したら設定完了です。
シェルをbashからzshに変更するのが不安な方もいらっしゃると思います。どうしてもbashに戻したくなったら、
chsh -s /bin/bash
でbashに戻せますのでご安心ください。
ちなみに私はzshのことを何も知らずにシェルをbashからzshに変更しましたが、困ったことは一度もないです。
preztoでzshのプロンプトを設定する
macのbashのデフォルトのプロンプトは下記のようになっていると思います。
(コンピューター名):(カレントディレクトリ) (ユーザー名)$
常時表示されるプロンプトにコンピューター名やユーザー名は必要でしょうか…。私は必要ありません。逆に、gitの現在のブランチなんかが表示されるとうれしいです。あと、前回の出力とプロンプトとの間に空白があると見やすいな〜とか思ったりもします。
そういったカスタマイズは、シェルの設定ファイルにいろいろ書き込むことでできると思いますが、誰かが作ってくれた使いやすい設定をそのまま使うことができれば、それが一番楽ですよね。
preztoを使えば、誰かが作ってくれたプロンプト設定を簡単に使うことが出来ます。
preztoの導入
prezto公式の手順に従ってpreztoを導入していきます。
ホームディレクトリ(~)で作業してください。cd
コマンドでホームディレクトリ(~)に移動できます。
既存のzsh構成ファイルが残っている場合、下記のコマンドを入力するなどして、それらの構成ファイルを別のディレクトリに移動させてください。
$ mkdir zsh_original && mv .zlogin .zlogout .zprofile .zshenv .zshrc zsh_original
zshrcなどの既存のzsh構成ファイルが残ったまま以降の設定をしてしまうと、ln -s
が失敗してエラーになってしまったりします。
上記対応が完了したら、まず、zshを起動します(ログインシェルをzshに設定したあとであれば、ターミナルを再起動すればzshは起動します)。
$ zsh
プロンプトが下記のように変化していれば、OKです。
(ユーザー名)%
下記コマンドを実行して、preztoのリポジトリをcloneします。
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
下記コマンドを実行し(まるごとコピペしてしまって大丈夫です)、cloneしたリポジトリからzsh構成ファイルをコピーして、新しいzsh構成を作成します。
setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done
上記が完了したら、ターミナルを再起動してください。プロンプトがなにやらカラフルな感じに変わっていたら成功です。

これは、preztoで最初に設定されているsorinというテーマのプロンプトです。
preztoの設定
まず、テーマを自分の好きなものに変更します。下記コマンドで、使用できるテーマの一覧をプレビューできます。
$ prompt -p
私は、pureというテーマを使っています。
pureを設定する場合、設定ファイル~/.zpreztorc
の
zstyle ':prezto:module:prompt' theme 'sorin'
の部分を、下記の通り修正します。
zstyle ':prezto:module:prompt' theme 'pure'
上記の修正後ターミナルを再起動すると、下記のようなプロンプトになります。

(カレントディレクトリ) (gitの現在のブランチ) >
という表示になっていますね。
さらに、前回の出力とプロンプトの間に空白が一行分あります。
とっても見やすくなりました。
さらに、補完とシンタックスハイライトのモジュールを有効にします。
同じく~/.zpreztorc
の、zstyle ':prezto:load' pmodule \
以下を下記のように修正します。('syntax-highlighting' \
と'autosuggestions' \
を追加)
zstyle ':prezto:load' pmodule \ 'environment' \ 'terminal' \ 'editor' \ 'history' \ 'directory' \ 'spectrum' \ 'utility' \ 'completion' \ 'syntax-highlighting' \ 'autosuggestions' \ 'prompt' \
上記修正後、ターミナルを再起動すれば設定が反映されます。

上記の画像のように、cd
と入力するだけであとに続くコマンドを履歴からサジェストしてくれたり、Tabキーを入力すると候補のディレクトリ・gitのブランチ・ssh接続先等を表示してくれたり、コマンドの文字の色を変えてくれたり(存在しないコマンドの場合赤文字になる)してくれるようになり、とっても便利になりました。
CLIが整いました
以上の作業で、あなたのCLIは見た目も機能もかなり整い、あなた好みのものになったのではないでしょうか。
CLIに愛着を持ち、日々エンジニアリングを楽しんでいきましょう!