🐙

iTerm2でターミナルをカスタマイズ。Gitブランチ名の表示や予測入力

2021/06/18に公開

2022年4月24日現在は「Zinit」というツールを使ってカスタマイズしています。
zshの起動速度もかなり早くなるみたいなのでおすすめです。
Zinitでターミナルをカスタマイズする

はじめに

ターミナルを使いやすくカスタマイズすることにしました。
その備忘録。

  • カラーを変更して、見やすくする
  • プロンプトをカスタマイズして、Gitのブランチ名を表示させる

iTerm2カスタマイズ

動作環境

MACOS Big Sur バージョン11.3.1

色を変えて見やすくする

デフォルトの画面だと白黒で味気ないので、ターミナル用テーマで見やすくて人気のある「Iceberg」を設定します。

Icebergはこんな感じのテーマです。
Iceberg公式サイト

テーマのダウンロード

公式サイトからでもダウンロードできますが、
今回はコマンドでダウンロードします。

curl -O https://raw.githubusercontent.com/Arc0re/Iceberg-iTerm2/master/iceberg.itermcolors

ダウンロードできたら、設定画面でカラーを設定します。
iTerm2 > Preferencesをクリック
iTerm2 > Preferences

「Profiles」を選択し、「Colors」へ移動
Profiles > Colors

「Colors Presets」の「import」から先ほどダウンロードしたicebergのファイルを選択し、インポートすると、「iceberg」が選べるようになっていると思います。
Colors Presets > import > iceberg

これでターミナルのテーマの設定は完了。

プロンプトをカスタマイズする

「MacOS Catalina」から標準シェルが「zsh」になりました。
今回はその「zsh」を使っていきます。

今使っているシェルを確認します。

$ echo $SHELL
/usr/local/bin/zsh

次に「prezto」という便利なフレームワークを導入します。preztoを使えば、簡単にカスタマイズすることができます。

//ホームディレクトリに移動
$ cd

// Zsh起動
$ zsh

// リポジトリをclone
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

// 設定ファイルを作成
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

// Zshをデフォルトに設定
$ chsh -s /bin/zsh

ここまでできたら再起動してください。
こんな感じになっていると思います。
iTerm2カスタマイズ

preztoのテーマを変える

デフォルトのテーマでもいいのですが、いろんなテーマを見て決めたいです。
テーマ一覧を見てみましょう。

$ prompt -p

// たくさん出てきます。
cloud theme:
☁  ~  command arg1 arg2 ... argn

cloud theme with parameters `✯':
✯  ~  command arg1 arg2 ... argn

cloud theme with parameters `> yellow red':
>  ~  command arg1 arg2 ... argn

damoekri theme:
~ ❯❯❯ command arg1 arg2 ... argn

テーマは「pure」に設定したいと思います。
まずは、~/.zpreztorcファイルを開きます。

$ vi ~/.zpreztorc

ファイルが開いたら、以下の場所を探してください。
「theme 'sorin'」になってると思うので、pureと書き換えます。
「i」で編集モード
「esc」で編集モードを閉じて
「:wq」でファイルを閉じましょう。

# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
- zstyle ':prezto:module:prompt' theme 'sorin'
+ zstyle ':prezto:module:prompt' theme 'pure'

ついでに以下も設定しておきましょう。
コマンドを補完してくれたり、シンタックスハイライトを入れてくれます。

# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'autosuggestions' \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'history-substring-search' \
  'prompt' \
  'syntax-highlighting'

これでカスタマイズ完了です。
あとは「iTerm2 > Preferences」から、カラーなりフォントなりを自分の使いやすいように変えてあげてください。

bashをzshに変えたらrailsコマンドが使えない

ターミナルの設定も終わり、Railsやろうかなと思った矢先でした。
「Railsがインストールされていません。」というエラーが。
指示通りにsudoしても動きませんでした。

❯ rails s
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

これで解決

シェルを変えたので、rbenvのパスを設定し直さなければならなかったんですね。

# .zshrcファイルを開く
$ vi ~/.zshrc

# ファイルに以下を追加する
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"

# 変更した.zshrcを読み込み
$ source ~/.zshrc

参考文献

CLIをカスタマイズして、作業の効率・モチベーションを上げる
Mac のターミナルに Iceberg を設定して見やすくする
Macのzshでrbenvを使う

Discussion