空enterでコマンドを実行するプラグインを書いた

1 min read読了の目安(約900字

空enterでコマンドを実行するプラグインを書いた

よくbashzshなどのtipsで

何もコマンドを入れずにenterを押したらlsgit statusを実行するようにすると便利

と聞くので、fishにもそういうことをやってくれるプラグインが無いか軽く調べたけれど見つけられなかったので作りました。

インストール

fishにおけるプラグインマネージャーはfisherなので次のコマンドでインストールできます。

$ fisher install Omochice/emptyls-fish

プラグイン本体ではキーバインドを提供していません。(他のプラグインと被ったら面倒そう)
なので、キーバインドを~/.config/fish/functions/fish_user_key_bindings.fishで設定します。

fish_user_key_bindings.fish
function fish_user_key_bindings
    bind \r emptyls
end

fzf.fishを入れているときなどは既にfish_user_key_bindings.fishが存在します。
そのときはfish_user_key_bindings関数の中に追記すれば問題ありません。

ユーザー定義コマンド

このプラグインは__emptyls_cmds__変数が設定されている時、lsではなくそれを実行します。
なのでlsだけでなくgit statusも表示したいならば次のように変数を設定します。

$ set -Ux __emptyls_cmds__ "ls" "git status"

開発の裏話

裏話は自分のgithub pagesにまとめました。

https://omochice.github.io/gh-pages/2021/05/28/fish-emptyls