skip to content
Logo
Yurikago Blog

M1 MacにZshフレームワークのZimを導入する

/ 5 min read

Table of Contents

Zimとは何ですか?

プラグインマネージャ、便利なモジュール、豊富なテーマを速度を犠牲にすることなくバンドルしたZsh構成フレームワークです。最初のプロンプトが表示されるまでの時間を測定したところ、測定対象の中で上から3番目に速いという結果が示されています。以前に使ったことのあるPreztoは約0.14sec、Zimは約0.06secでした。半分以下ですね…🤔 測定方法、結果については以下のWikiで確認できます。

参考: https://github.com/zimfw/zimfw/wiki/Speed

検証環境

  • M1 MBP@12.4
  • Zsh@5.8.1
  • Zim@1.9.1

インストール

自動インストール、手動インストールがあります。 今回は簡単に導入できる自動インストールを試します。 インストール手順はREADMEを参照しました。

Terminal window
% curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
) Using Zsh version 5.8.1
) ZIM_HOME not set, using the default one.
) Zsh is your default shell.
) Downloaded the Zim script to /Users/xxx/.zim/zimfw.zsh
) Prepended Zim template to /Users/xxx/.zimrc
) Prepended Zim template to /Users/xxx/.zshrc
) Installed modules.
All done. Enjoy your Zsh IMproved! Restart your terminal for changes to take effect.

コマンドの実行後にターミナルを再起動すれば完了です。 ~/.zshrc にzimの設定が追記されています。

参考: https://github.com/zimfw/zimfw

有効になる機能

デフォルトだと以下のモジュールが読み込まれています。

モジュール名説明
environment正常なZsh組み込み環境オプションを設定します。
git便利なgitエイリアスや関数を提供します。
input入力イベントに対して正しいバインドキーを適用します。
termtitleカスタム端末のタイトルを設定します。
utilityユーティリティのエイリアスや関数。ls, grep, lessに色をつけます。
duration-infoasciishipで使用される、最後のコマンドの実行にかかった時間をプロンプトに公開します。
git-infoasciishipで使用される、gitリポジトリの状態情報をプロンプトに公開します。
asciishipスペースシップとスターシップのプロンプトを大幅に縮小した、ASCIIのみのバージョンです。
zsh-users/zsh-completions —fpath srcZshの補完定義を追加します。
completionスマートで広範囲なタブ補完を有効にし設定します。completionモジュールは補完定義を追加するすべてのモジュールの後に読み込む必要があります。
zsh-users/zsh-syntax-highlightingZsh用のFishのようなシンタックスハイライト。zsh-users/zsh-syntax-highlightingはcompletionモジュールの後に読み込む必要があります。
zsh-users/zsh-history-substring-searchZsh用のFishのような履歴検索。zsh-users/zsh-history-substring-searchはzsh-users/zsh-syntax-highlightingの後に読み込む必要があります。
zsh-users/zsh-autosuggestionsZsh用のFishのようなオートサジェスト

その他のモジュールの一覧は以下のページで確認できます。

参考: https://zimfw.sh/docs/modules/

テーマの変更

デフォルトではasciishipというテーマが適用されています。 テーマを変更したい場合は ~/.zimrc を編集します。

.zimrc
# asciishipをコメントアウト
# zmodule asciiship
# 設定したいテーマ名を指定
zmodule steeef

テーマの一覧はドキュメントで確認できます。

追記後、以下のコマンドを実行します。

Terminal window
% zimfw install

テーマモジュールのインストール後、ターミナルを再起動すれば完了です。

参考: https://zimfw.sh/docs/themes/

チートシート

便利なコマンドのエイリアスが組み込まれています。 例えば Ggit のエイリアスとなっています。

エイリアスの一覧は以下のページで確認できます。

参考: https://zimfw.sh/docs/cheatsheet/

おわりに

インストールするとすぐにオートサジェストやシンタックスハイライトが有効になるのが便利ですね👍 デフォルトの状態でも十分便利ですが、以下の記事のようにモジュールの挙動を細かくカスタマイズできるようなので気になる方は試してみてはいかがでしょうか。

参考: https://takuyatsuchida.com/build-zsh-environment-by-zim-framework/