私のzshrcには次のエイリアスがあります
alias nif='nvim $(rg --files | fzf -m || echo +qa)'
デフォルトでは、rg(ripgrep)を使用して現在のディレクトリとサブディレクトリのすべてのファイルを表示します。 fzfにパイプされ、それらのいくつかを選択してneovimで開くことができます。すべてが話されて完了したら、最終的な順序は次のようになります。
nvim my_file.cpp
しかし、私の履歴にはnif
エイリアスのみが表示されます。nif
履歴を拡張コマンドに置き換える方法はありますかnvim my_file.cpp
?
答え1
エイリアスに歴史に拡張子を追加させますprint -s
。
変える:
alias nif='nvim $(...)'
使用
alias nif='f=$(...); print -rs nvim $f; nvim $f'
エイリアスではない関数にも同じ内容が適用されます。つまり、すべてのエイリアスにわたって履歴を複製するのではなく、履歴保存を抽象化して再利用できます。