MacターミナルをIcebergとPrezto+pureで設定する
Macのターミナルの見た目とプロンプトを整えるのに、Iceberg(アイスバーグ)とPreztoのpureテーマを使いました。
結論から書くと、Icebergは色、Preztoはzshの設定フレームワーク、pureはそのプロンプトテーマという役割分担です。Icebergで配色を、Prezto+pureでプロンプトの表示内容を変えます。
最初に押さえておきたいのは、Icebergは本来Vim・Neovim用のカラースキームで、macOSのターミナル(Terminal.app)用のプリセットは公式サイトから別途配布されているという点です。GitHubリポジトリをクローンしただけではターミナルの色は変わりません。
この記事では、Terminal.appへのIcebergの適用、Preztoの導入、pureテーマの設定までをまとめました。
▼動作を確認した環境
macOS 26(Apple Silicon)/ zsh / Terminal.app
IcebergとPrezto、pureはそれぞれ何をするものか
結論:3つとも別のソフトで、担当する範囲が違います。「Prezto(pure)」という1つのツールがあるわけではありません。
| 名前 | 種類 | 担当する範囲 |
|---|---|---|
| Iceberg | カラースキーム | 文字色・背景色。本体はVim / Neovim向けで、Terminal.app用のプリセットも配布されている |
| Prezto | zshの設定フレームワーク | 補完・エイリアス・プロンプトなどの設定一式 |
| pure | プロンプトテーマ | プロンプトの表示内容。Preztoに同梱されている |
Icebergはcocopon氏が公開しているカラースキームで、リポジトリはcocopon/iceberg.vimです。Preztoはsorin-ionescu氏が公開しているsorin-ionescu/preztoです。
Terminal.appにIcebergの配色を適用する
結論:Terminal.appに適用するには、Iceberg公式サイトで配布されている.terminalファイルをダウンロードし、ターミナルの設定からプロファイルとして読み込みます。
.terminalファイルはIceberg公式サイトにダウンロードリンクがあります。GitHubリポジトリのほうには含まれていないので、リポジトリをクローンしてもターミナルの色は変わりません。
手順は次のとおりです。
- Iceberg公式サイトからTerminal.app用のファイルをダウンロードする
- ダウンロードしたファイルをダブルクリックする(プロファイルが読み込まれる)
- ターミナルの「設定」→「プロファイル」を開く
- 一覧から「Iceberg」を選び、「デフォルト」ボタンを押す
ダブルクリックで読み込めないときは、「設定」→「プロファイル」の左下にある歯車メニューから「読み込む」を選び、ファイルを指定してください。
既定のプロファイルが切り替わったかは、次のコマンドで確認できます。
$ defaults read com.apple.Terminal "Default Window Settings"
Iceberg
Icebergと返ってくれば、新しく開くウィンドウにこの配色が適用されます。「デフォルト」ボタンを押し忘れていると、プロファイル一覧にIcebergがあっても、ここはBasicのままです。
iTerm2など他のターミナルを使っている場合
結論:Terminal.app用の.terminalファイルはiTerm2では読み込めません。
iTerm2は.itermcolorsという独自形式を使います。Iceberg公式サイトには16色のANSIカラーの値が載っているので、それを手で入力するか、対応する形式のファイルを探すことになります。
Preztoをインストールする
結論:Preztoはリポジトリを~/.zpreztoにクローンし、同梱の設定ファイルをホームディレクトリにシンボリックリンクで置いて導入します。
まずリポジトリをクローンします。
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
--recursiveはサブモジュールも一緒に取得するためのオプションです。これを付け忘れるとpureなどのテーマが入りません。
次に、設定ファイルをホームディレクトリへリンクします。
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
このコマンドはzshで実行してください。setoptと^README.md(.N)はzsh固有の書き方なので、bashで実行するとエラーになります。macOS Catalina以降の既定のシェルはzshなので、通常はそのまま動きます。
すでに.zshrcがあると失敗する
結論:~/.zshrcや~/.zpreztorcがすでに存在すると、ln: File existsというエラーが出てリンクが作られません。
既存の設定ファイルを退避してから実行し直してください。
mv ~/.zshrc ~/.zshrc.backup
Homebrewのパス設定を~/.zshrcに書いている場合、この退避でbrewコマンドが使えなくなります。Preztoの導入後に書き戻してください。Homebrewの導入手順はMacにHomebrewとVimをインストールする手順とパス設定にまとめています。
プロンプトテーマをpureに変える
結論:~/.zpreztorcにzstyle ':prezto:module:prompt' theme 'pure'を書き、ターミナルを開き直すとpureのプロンプトになります。
zstyle ':prezto:module:prompt' theme 'pure'
~/.zpreztorcにはすでにtheme 'sorin'という行が入っています。その行を書き換えるのがいちばん確実です。
設定を変えたら、新しいターミナルのウィンドウかタブを開いてください。同じウィンドウのままでは反映されません。
書き換えられたかどうかは、設定ファイルを直接見るのが早いです。
$ grep theme ~/.zpreztorc
zstyle ':prezto:module:prompt' theme 'pure'
theme 'pure'が返ってくれば設定は入っています。theme 'sorin'のままだと、ターミナルを開き直してもpureになりません。~/.zpreztorcは200行ほどある設定ファイルなので、手で探すよりgrepで当たるほうが早いです。
他のテーマを見てから決める
結論:prompt -lで使えるテーマの一覧が出て、prompt -p pureでそのテーマの表示例が確認できます。
prompt -l
prompt -p pure
pureはGitのブランチ名と変更の有無、コマンドの実行時間を表示する、装飾の少ないテーマです。情報量を増やしたい場合はpowerlevel10kのような別テーマもありますが、そちらは専用フォント(Nerd Fonts)の導入が別途必要になります。
VimでもIcebergを使う
結論:Vim側でIcebergを使うには、リポジトリのcolors/iceberg.vimを~/.vim/colors/に置き、~/.vimrcにcolorscheme icebergを書きます。
git clone https://github.com/cocopon/iceberg.vim.git
mkdir -p ~/.vim/colors
cp iceberg.vim/colors/iceberg.vim ~/.vim/colors/
colorscheme iceberg
ターミナル側とVim側は別々の設定です。両方をIcebergにすると、Vimを開いたときと閉じたときで配色が揃います。