zshは標準の機能を使うだけでも便利だけど、それでも足りないときはいろいろなプラグインを追加して拡張できる。でも、プラグイン一覧はどこかにまとまっているわけではない。特に、zsh本体に標準で含まれているプラグインはman zshcontribを見ればわかるけど、それ以外のユーザが独自に作ったプラグインはGoogle検索とかで地道に探すしかない。
そこで、zshで使用できる標準で含まれていないプラグインをまとめて紹介する。これを参考にして、zshをもっと便利にしてください!
ディレクトリ移動
| 名前 | 概要 | 参考記事 |
|---|---|---|
| cd-bookmark | cdするディレクトリをブックマークする | 参考記事 |
| cd-gitroot | Gitリポジトリのトップレベル ディレクトリに移動する | 参考記事 |
| cdd | tmuxやscreenの別ウィンドウのディレクトリに移動する | 参考記事 |
| diractions | ディレクトリを便利に操作するための動作を追加する | - |
| knu/z | zのfork | 参考記事 |
| smart-change-directory | ディレクトリ移動を便利にする | - |
| z | ディレクトリ移動を便利にする | - |
| zbk | ファイルやディレクトリをブックマークする | - |
| zsh-bd | 親ディレクトリへの移動を便利にする | 参考記事 |
| zsh-directory-history | ディレクトリ移動の履歴を管理する | - |
| zshmarks | cdするディレクトリをブックマークする | - |
プロンプト表示
| 名前 | 概要 | 参考記事 |
|---|---|---|
| liquidprompt | プロンプトをかっこよくする | - |
| moonline.zsh | プロンプトをかっこよくする | - |
| oh-my-zsh-virtualenv-prompt | virtualenvの情報をプロンプトに表示する | - |
| promptway | プロンプトをかっこよくする | - |
| pure | プロンプトをかっこよくする | - |
| zsh-python-prompt | pyenvの情報をプロンプトに表示する | 参考記事 |
| zsh-prompt-powerline | プロンプトをかっこよくする | - |
補完
| 名前 | 概要 | 参考記事 |
|---|---|---|
| auto-fu.zsh | インクリメンタルに補完する | 参考記事 |
| incr | インクリメンタルに補完する | 参考記事 |
| zsh-autosuggestions | インクリメンタルに補完する | 参考記事 |
| zsh-completions | 標準でサポートされていないコマンド用の補完ファイル | - |
| zsh-dwim | 次に必要なコマンドを予測する | 参考記事 |
| zsh-fuzzy-match | 単語をあいまい補完する | - |
| zsh-history-substring-search | コマンドライン履歴から単語を補完する | 参考記事 |
シンタックスハイライト
| 名前 | 概要 | 参考記事 |
|---|---|---|
| zsh-256color | ターミナルを256色使用可能にする | - |
| zsh-colors | 任意の文字列を色付きで表示する | - |
| zsh-syntax-highlighting | コマンドラインをシンタックスハイライトする | 参考記事 |
| zsh-url-highlighter | コマンドライン中のURLをリソースの状態を考慮してハイライトする | - |
バージョン管理システム連携
| 名前 | 概要 | 参考記事 |
|---|---|---|
| browse-commit | Gitのコミットをブラウザで開く | - |
| git-aliases.zsh | gitコマンドのエイリアスを追加する | - |
| git-it-on.zsh | GitHubをブラウザで開く | - |
| gitignore.plugin.zsh | .gitignoreファイルを作成する | - |
| k | lsとあわせてGitで管理しているファイルの状態を表示する | - |
| oh-my-git | Gitリポジトリの状態をプロンプトに表示する | - |
| zsh-git-escape-magic | gitコマンドの引数を自動的にエスケープする | 参考記事 |
| zsh-git | Gitリポジトリの状態をプロンプトに表示する | 参考記事 |
Anything風インターフェース
| 名前 | 概要 | 参考記事 |
|---|---|---|
| anyframe | pecoやpercolのラッパー | 参考記事 |
| zaw | zsh用のAnything風インターフェース | 参考記事 |
設定フレームワーク
| 名前 | 概要 | 参考記事 |
|---|---|---|
| alf | 設定フレームワーク | - |
| ant-zsh | 設定フレームワーク | - |
| antigen | プラグインマネージャ | 参考記事 |
| autoupdate-antigen.zshplugin | Antigen本体を自動アップデートする | - |
| dotzsh | 設定フレームワーク | - |
| oh-my-zilsh | oh-my-zshラッパー | - |
| oh-my-zsh | 設定フレームワーク | 参考記事 |
| prezto | 設定フレームワーク | 参考記事 |
| zgen | 設定フレームワーク | - |
| zilsh | 設定フレームワーク | - |
| zshuery | 設定フレームワーク | - |
| ztanesh | 設定フレームワーク | - |
外部ツール連携
| 名前 | 概要 | 参考記事 |
|---|---|---|
| caniuse.plugin.zsh | Can I use... をコマンドラインで使えるようにする | - |
| depot_tools | Chromiumのdepot_toolsをインストールする | - |
| hipchat.zsh | コマンドラインからHipChatにメッセージを送信する | - |
| mysql.plugin.zsh | MySQL用プラグイン | - |
| oh-my-zsh-flow3-plugin | TYPO3 Flow用プラグイン | - |
| robo-zsh-plugin | Robo用プラグイン | - |
| sf2.plugin.zsh | Symfomy2用プラグイン | - |
| yeoman-zsh-plugin | Yeoman用プラグイン | - |
| zsh-geeknote | geeknote用プラグイン | - |
| zsh-grunt-plugin | Grunt用プラグイン | - |
| zsh-gvm | GVM用プラグイン | - |
| zsh-nodejs-plugin | node.js用プラグイン | - |
| zsh-t32 | Trace32 toolset用プラグイン | - |
その他
| 名前 | 概要 | 参考記事 |
|---|---|---|
| czhttpd | zshで書かれたHTTP Server | - |
| opp.zsh | Vimのテキストオブジェクトにあたるものをzshのコマンドラインで使う | - |
| osx-dev-zsh-plugin | Macで動作しているデーモンを操作する | - |
| pretty-time-zsh | 時刻を分かりやすいフォーマットで表示する | - |
| zerve | zshで書かれたシンプルなHTTP Server | - |
| zload | 補完ファイルを読み込む | 参考記事 |
| znote | CLI note manager | - |
| zrv.zsh | zshコマンドラインサーバー | 参考記事 |
| zsh-autoenv | ディレクトリ単位で環境変数を切り替える | - |
| zsh-bash | Bashとの互換性を高める | - |
| zsh-bundle-exec | bundle execを打たなくて良くする | 参考記事 |
| zsh-notify | Macでメッセージをデスクトップに通知する | - |
| zsh-plugin-ibtool | ローカライズしたXIBファイルを作成する | - |
注意
もう長いことメンテナンスされていないプラグインも含んでる。ちゃんと使用できるかどうかは個別のプラグインごとに確認してください。