oh-my-zshのpluginやthemeを作ってみる
さて、先の記事で oh-my-zshを紹介 しました。
今回はoh-my-zshを拡張するplugin, themeの作成方法を記します。
custom plugin
oh-my-zshには様々なpluginやthemeがあるのですが、 どうしても足りないpluginは自分で カスタムプラグイン を作る必要があります。 たとえば自分は cdd や tig を使っていますので、こちらのカスタムプラグインを作ってみましょう。
配置場所、命名ルール
プラグインは
$ZSH/.oh-my-zsh/custom/plugins/[プラグイン名]/[プラグイン名].plugin.zsh
に配置します。
pluginの配置が終わったら .zshrc に記述されている plugins=([プラグイン名])
を追加すればOKです。
cddプラグイン
さっそくcddのプラグインを作ってみましょう。 処理概要は
$ZSH/.oh-my-zsh/custom/plugins/cdd/cdd.plugin.zsh
が読み込まれる- cdd.plugin.zshが同一ディレクトリに保存されているcddを読み込む
- cddに必要な設定を行う
というものです。詳細は Gistに保存してある のでそちらをどうぞ。
tigプラグイン
こちらはtigの補完設定をただただ読みこむだけのpluginです。 例によって詳細は Gistをどうぞ 。
ほかにも
自分はいくつかのカスタムプラグインをgistに保存してあります。 本来であればoh-my-zsh本家へPull Requestを投げるべきだと思うのですが、今のところはこれでごまかしています。
インストール用のシェル もGistに保存しており、 環境を移行した際にはこれを実行しています。
custom theme
前回 steeef を設定しましたが、どうもGitブランチのステータスが ● で表示されるのはしっくりきません… なのでsteeefを元にカスタムテーマを作ってみましょう。
配置場所、命名ルール
$ZSH/.oh-my-zsh/custom/themes/[テーマ名]/[テーマ名].zsh-theme
に配置します。
配置してみる
steeefをコピーして新しいテーマを作ります。名前は ste4f とでもしておきましょう。
続いてste4fを編集します。●が書いてある場所をよしなに編集しましょう。
編集した結果は以下のとおりです。
編集が終わったら.zshrcのthemeを変更して設定を再読み込みしましょう。
このように表示が変更されました。
おわり
まったくの0からzshの設定を変更することは大変ですが、 oh-my-zshはたくさんのplugin, themeが用意されているので、 大変参考になります。他のプラグイン、テーマを参考にしつつ 自分用の設定をしていきましょう。