enhancdの実行後に自動でlsコマンドを実行する


enhancdとは

b4b4r07/enhancd ❤ GitHub
A next-generation cd command with an interactive filter

@b4b4r07さんによって開発されたcdの拡張コマンドです.
これが非常に便利で私も愛用しています. ターミナルを利用されている方は一度試してみてはいかがでしょうか.

詳細は開発者様の記事が参考になります.
ターミナルのディレクトリ移動を高速化する
autojump/z から乗り換えよう、cd 拡張プラグイン enhancd

やり方

2016/10/18時点で最新版のver2.2.2からenhancd実行後に実行されるコマンドを指定する変数ENHANCD_HOOK_AFTER_CDが用意されています. 今回はそれを利用します.

最新版enhancdの準備

enhancdのインストールは公式のドキュメントを参考にして下さい.
https://github.com/b4b4r07/enhancd/tree/2.2.2#package-installation

ただし, 2016/10/18時点では利用するver2.2.2がmasterブランチにはマージされていません.
そのため, 以下のコマンドでブランチを指定して, 最新版のenhancdを用意して下さい.

git clone -b 2.2.2 [email protected]:b4b4r07/enhancd.git

※既にenhancdをインストールしている場合
既存のenhancdディレクトリを削除して, 最新版と入れ替えて下さい.

.zshrcの編集

.zshrcに以下のコードを追記

source [path]/enhancd/init.sh
ENHANCD_HOOK_AFTER_CD=ls

インストール時に既に1行目のコードを記述していた場合は2行目のコードだけを追記.

最後に.zshrcの設定を反映.

source ~/.zshrc

動作

うまくいくと自動でlsが実行されます.

最後に

今回この動作を実現するにあたり, 開発者である@b4b4r07さんがenhancdを改良してくれました.
いきなりTwitterで開発者様からレスポンスがきた際には驚きましたが, いちユーザの声に対応していただきありがとうございました.