空enterで lsを 実行する プラグインを 作った
(Updated more than a year ago)
#顛末
空 Enter で ls が実行されると便利
みたいな話をよく聞くので fish でも同じようなことができないかと思って調べたら zsh にはプラグインとしてあるみたい。
Qiita にfishshell で Enter 押したときに ls と git status を表示する - Qiitaがある。
この記事では <c-j> にバインドしているが、コマンドの実行のイベントで空なら分岐の方式にしたかったので調べてみた。
どうやら空のコマンドを実行したときには --on-event <pre|post>exec が発行されないように新しいバージョンで変わったらしい。
fish_preexec is no longer triggered on empty commands, no way to restore old behavior #8020
個人的に Enter にバインドするものは今後増える可能性があると思ってるのでバインドしたくはなかった。
function fish_user_key_bindings
bind \r emptyls
end
ここで地味に詰まった。
最初は bind \r ではなくて bind -k enter にしていたが、enterには割当がない みたいなエラーが出た。