zshのプラグインマネージャーはどれがいい?
私は今まで仕事での環境でしかzshを使っていなかったのですが、最近自宅の環境でも使用するようしています。それでzshをそのまま使用しようとすると限界があるのでプラグインを入れようと思ったときに、プラグインマネージャーはどれがいいんだ??ってなりました。とりあえず動作が早いものを入れたいと思います。
そこで、色々調べた結果、Zinitが早いぞ!!ってのをよく見るのですが、2021年に元の開発者のリポジトリが消えてしまい、今はコミュニティ(zdharma-continuum)が引き継いで開発を続けていると知って、「どれを選べばいいんだろう?」と迷いました。
とりあえずなんか早いのを探しているとSheldonというプラグインマネージャーがあったので入れてみようかと思います。
https://github.com/rossmacarthur/sheldon
Sheldonのインストール
私の環境はLinuxなので、GitHubのページに書いてある下記のコマンドでビルド済みのバイナリをダウンロードします。
最初はこの方法で入れたのですが、プラグインのインストールでエラーが出ました。あとで調べると、原因はインストール方法ではなく、ネットワーク(DNSの名前解決)の問題でした。どちらの方法でも入れられますが、ArchLinuxなら今回はpacmanで入れています。
# ビルド済みのバイナリを入れる方法
curl --proto '=https' -fLsS https://rossmacarthur.github.io/install/crate.sh | bash -s -- --repo rossmacarthur/sheldon --to ~/.local/bin
# ArchLinuxならpacmanでも入れられる
sudo pacman -S sheldonちなみにそのとき出たエラーは下記です。github.comの名前解決に失敗していて、ネットワークの問題でした。
# zshrcを読み込んで、プラグインをインストールしようと思ったらエラーになった
localhost% source .zshrc
Loaded ~/.config/sheldon/plugins.toml
error: failed to install source `https://github.com/zsh-users/zsh-autosuggestions`
due to: failed to git clone `https://github.com/zsh-users/zsh-autosuggestions`
due to: failed to resolve address for github.com: Try again; class=Net (12)Sheldonの初期化
次に下記のコマンドでPluginを書くToml構成ファイルを初期化します。
もしコマンドでエラーが出たときはおそらくパスが通っていないので、「~/.local/bin」のパスを通してください。
sheldon init --shell zshコマンドを実行すると新しくコンフィグファイルを作っていいか?と聞かれるのでyを入力してEnterを押します。
そうすると~/.config/sheldon/plugins.tomlが作成されます。

Sheldonを使ってみる
とりあえずプロンプト画面をいい感じにしてくれるプラグインであるPowerlevel10kをインストールします。
https://github.com/romkatv/powerlevel10k
plugins.tomlをnvimで開き、次のように記載し保存します。
[plugins.powerlevel10k]
github = "romkatv/powerlevel10k"そのままだとSheldonをロードするのが面倒なので、zshrcに下記の内容を書き込み、zshrcが読み込まれたときにSheldonが読み込まれるようにします。
eval "$(sheldon source)"これを書いておくことで、【source ~/.zshrc】とするだけでプラグインをインストールすることができるようになります。
plugins.tomlの書き方
ここからは設定ファイル(plugins.toml)の書き方をもう少し詳しくまとめます。内容はSheldonの公式ドキュメント(https://sheldon.cli.rs/)で確認しています。
基本の形
プラグインは「[plugins.好きな名前]」というテーブルを作って、その中にどこから取ってくるか(ソース)を書きます。名前は自分で分かればなんでも大丈夫です。
# 使っているシェル(省略時はzsh)
shell = "zsh"
[plugins.プラグインの名前]
github = "ユーザー名/リポジトリ名"![plugins.tomlの構造:[plugins.名前]の下にgithubなどのソースとuse・applyなどのオプションが並ぶ](https://www.tetoran.com/wp-content/uploads/2026/10/812-toml.png)
ソースの種類
GitHub以外からも取ってこられます。1つのプラグインに書けるソースは1種類だけです。
| キー | 内容 | 例 |
|---|---|---|
| github | GitHubのリポジトリ | github = “owner/repo” |
| gist | Gist | gist = “Gistのハッシュ” |
| git | 任意のGitリポジトリのURL | git = “https://github.com/owner/repo” |
| remote | 1ファイルをURLからダウンロード | remote = “https://…/plugin.zsh” |
| local | 手元のディレクトリ | local = “~/プラグインのディレクトリ” |
| inline | 設定ファイルに直接書くシェルコード | inline = ‘alias ll=”ls -l”‘ |
よく使うオプション
| オプション | 内容 |
|---|---|
| branch / tag / rev | Gitのブランチ・タグ・コミットを指定してチェックアウトする |
| use | 読み込むファイルを指定する(例:use = [“*.zsh”])。省略するとmatchのパターンで自動判定 |
| apply | 適用するテンプレートを指定する(例:apply = [“source”])。zshではsource、PATH、path、fpathが使える |
| proto | クローンに使うプロトコル(git / https / ssh) |
プラグインの追加例
私が入れているものも含めて、よく使われるプラグインの追加例です。
plugins.tomlに直接書く
shell = "zsh"
# プロンプト
[plugins.powerlevel10k]
github = "romkatv/powerlevel10k"
# コマンドの入力候補を薄く表示
[plugins.zsh-autosuggestions]
github = "zsh-users/zsh-autosuggestions"
# 補完の定義を追加(fpathに追加する)
[plugins.zsh-completions]
github = "zsh-users/zsh-completions"
apply = ["fpath"]
# コマンドに色を付ける
[plugins.zsh-syntax-highlighting]
github = "zsh-users/zsh-syntax-highlighting"
# 自分用のエイリアスをインラインで
[plugins.my-aliases]
inline = 'alias ll="ls -l"'コマンドで追加する
ファイルを編集する代わりに、sheldon addコマンドでも追加できます。このコマンドは設定ファイルを書き換えるだけなので、インストールは次のsheldon lockか、zshの再読み込みで行われます。
# GitHubのリポジトリを追加
sheldon add zsh-autosuggestions --github zsh-users/zsh-autosuggestions
# タグを指定して追加
sheldon add example --github owner/repo --tag v0.1.0
# 設定ファイルをエディタで開く
sheldon edit
# プラグインを削除
sheldon remove exampleインストールと更新
# プラグインをダウンロードしてロックファイルを作る
sheldon lock
# すべてのプラグインを更新
sheldon lock --update
# 入れ直したいとき
sheldon lock --reinstall他のプラグインマネージャーとの比較
最初に迷ったZinitなども含めて、ざっくり比べるとこんな感じです。どれも人気があるので、好みで選んでいいと思います。
| Sheldon | Zinit | Oh My Zsh | |
|---|---|---|---|
| 設定の書き方 | TOMLファイル(plugins.toml) | .zshrcにzinitコマンドで書く | .zshrcのplugins=(…)で指定 |
| 特徴 | Rust製。設定とロックファイルを分けて管理 | 遅延読み込み(Turbo mode)など機能が多い | テーマやプラグインが同梱されたフレームワーク |
| 対応シェル | zsh / bash | zsh | zsh |
トラブル対処
- sheldonコマンドが見つからない:インストール先(~/.local/binなど)にパスが通っているか確認します。
- failed to git clone / failed to resolve address:上で私が出したエラーです。ネットワークやDNSの名前解決ができていない状態なので、ネットワーク設定を確認してから「sheldon lock」をやり直します。
- 設定を変えたのに反映されない:「source ~/.zshrc」で読み込み直すか、「sheldon lock」を実行します。
- プラグインがおかしくなった:「sheldon lock –reinstall」で入れ直します。
おわりに
Sheldonは設定がTOMLファイル1つにまとまるので、どのプラグインを入れているか一目で分かるのが気に入っています。少しずつプラグインを増やしていこうと思います。

コメント