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 git@github.com:b4b4r07/enhancd.git
※既にenhancdをインストールしている場合
既存のenhancdディレクトリを削除して, 最新版と入れ替えて下さい.
.zshrcの編集
.zshrc
に以下のコードを追記
source [path]/enhancd/init.sh
ENHANCD_HOOK_AFTER_CD=ls
インストール時に既に1行目のコードを記述していた場合は2行目のコードだけを追記.
最後に.zshrc
の設定を反映.
source ~/.zshrc
動作
最後に
今回この動作を実現するにあたり, 開発者である@b4b4r07さんがenhancdを改良してくれました.
いきなりTwitterで開発者様からレスポンスがきた際には驚きましたが, いちユーザの声に対応していただきありがとうございました.
@icchi_h cd() { __enhancd::cd “$@“; ls; } とかでいけませんでしたっけ。。。
— b4b4r07 (@b4b4r07) October 7, 2016
@icchi_h たいぶ遅くなってスミマセン。2.2.2 ブランチにて ENHANCD_HOOK_AFTER_CD という変数を追加しています。ENHANCD_HOOK_AFTER_CD=ls とすれば期待通り実行できるはずです。お試しください。近日マージ予定です。
— b4b4r07 (@b4b4r07) 2016年10月16日