tmuxメモ : TPM(Tmux Plugin Manager)プラグインの作り方
TPM(Tmux Plugin Manager)で使えるtmuxプラグインの作り方は上記ページに書いてあるように簡単で流れとしては以下の通り。
流れに沿ってprefix + T
を押すとインストールされているプラグインリストを表示するプラグインを作成してみる(ソースコードはこのページを参照)。
gitプロジェクト作成
まず新しいgitプロジェクトを作成する。
$ mkdir tmux_my_plugin $ cd tmux_my_plugin $ git init
ランファイル作成(*.tmux)
次に*.tmux
という拡張子でランファイルを作成して実行権限を付与する。
プラグインが有効になるとTPM(Tmux Plugin Manager)はプラグインディレクトリにある全ての*.tmux
ファイルを実行する。*.tmux
は2つ以上あっても全てが実行されるが、たいていの場合は1つあればよい。
$ touch my_plugin.tmux $ chmod u+x my_plugin.tmux
キーバインド設定作成
次にキーバインド設定を作成するが、今回はprefix + T
を割り当てる(デフォルトでは何の機能も割り当てられていないので)。
エディタで先ほど作成したランファイルを開いて、
$ vim my_plugin.tmux
下記コードを追加する。コードはbashスクリプトでT
を押せばscripts/tmux_list_plugins.sh
が実行される。
#!/usr/bin/env bash CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" tmux bind-key T run-shell "$CURRENT_DIR/scripts/tmux_list_plugins.sh"
メインスクリプト作成
続いてT
を押して呼ばれるメインのスクリプトscripts/tmux_list_plugins.sh
を作成する。
$ mkdir scripts $ touch scripts/tmux_list_plugins.sh $ chmod u+x scripts/tmux_list_plugins.sh
スクリプトの中身は下記。
#!/usr/bin/env bash # fetching the directory where plugins are installed plugin_path="$(tmux show-env -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)" # listing installed plugins ls -1 "$plugin_path"
テスト
テストをするために下記コマンドでランファイルを実行した後でprefix + T
を押す(大文字なのでprefix + shift + t
)。プラグインのリストが画面に表示されれば成功。
$ ./my_plugin.tmux