🐰
fzfを使って、コマンド履歴をインクメンタル検索して、特定のコマンドをコピーする
初投稿!
やりたいこと
こんな感じで、コマンド履歴をインクリメンタル検索して、特定のコマンドをコピーができるようにする
やり方
前提
手順
fisher add jethrokuan/fzf
cd ~/.config/fish/functions/
-
ls
すると__fzf_*.fish
のファイルたくさんあるはず - 以下実行
> echo 'function __fzf_reverse_isearch_with_copy
history merge
history -z | eval (__fzfcmd) --read0 --tiebreak=index --toggle-sort=ctrl-r $FZF_DEFAULT_OPTS $FZF_REVERSE_ISEARCH_OPTS -q \'(commandline)\' | perl -pe \'chomp if eof\' | read -lz result
and commandline -- ""
commandline -f repaint
echo -n $result | pbcopy
end' > __fzf_reverse_isearch_with_copy.fish
-
./__fzf_reverse_isearch_with_copy.fish
するとすぐに使えるはず
僕はconfig.fish
にbind \cy __fzf_reverse_isearch_with_copy
を書いて、CTRL + Y
で呼び出せるようにしてます(exec $SHELL -l
を忘れずに)
以上!!
他にもこんなことできるよ!みたいなのあれば教えてもらえると嬉しいです!
これからも気楽に投稿していきます!
Discussion