Xster Asked: 2021-01-19 10:26:42 +0800 CST2021-01-19 10:26:42 +0800 CST 2021-01-19 10:26:42 +0800 CST 运行当前命令并将输出通过管道传输到 fzf 772 什么是从fish绑定键绑定以运行当前命令提示符并将其通过管道传输到 fzf 以便于搜索/选择的简单方法? 即 1 按键的完成方式| fzf (enter)? fish 1 个回答 Voted Best Answer NotTheDr01ds 2021-01-19T15:17:21+08:002021-01-19T15:17:21+08:00 bind如果我理解正确的话,这似乎是一个非常简单的功能。最简单的: 保存在~/.config/fish/functions/__append_pipe_fzf.fish: function __append_pipe_fzf set -l cmd (commandline -b) commandline -r $cmd" | fzf" commandline -f execute end 然后将其绑定到一个键,例如: bind -k nul __append_pipe_fzf nul 绑定到Ctrl+ Space(或Mac 上的⌘+ Space,我相信这是你的情况)。 当然,您可以通过检查当前命令是否以开头的进程结束| fzf并删除它来使这更加健壮。现在,| fzf即使你已经有一个,它也可以附加。另外,如果你在当前命令行以 结尾时按下它|,我认为它会生成一个“或”语句,而不是你想要的。
bind
如果我理解正确的话,这似乎是一个非常简单的功能。最简单的:保存在
~/.config/fish/functions/__append_pipe_fzf.fish
:然后将其绑定到一个键,例如:
bind -k nul __append_pipe_fzf
nul 绑定到Ctrl+ Space(或Mac 上的⌘+ Space,我相信这是你的情况)。当然,您可以通过检查当前命令是否以开头的进程结束
| fzf
并删除它来使这更加健壮。现在,| fzf
即使你已经有一个,它也可以附加。另外,如果你在当前命令行以 结尾时按下它|
,我认为它会生成一个“或”语句,而不是你想要的。