📦 x-cmd pkg | fzf (4) - fzf 隐藏技巧,教你扩展 UI 界面的预览窗口与快捷键功能

240 阅读2分钟

视频演示

fzf.4.cn.gif

使用 --preview 命令选项,为 fzf 界面提供预览窗口

fzf 命令的 {} 代表 fzf 界面中被选中的选项。

ps | x fzf --height 60% --preview 'printf {}'

对于被选中的选项,{} 内部还会以空格作为分隔符,将选项内容分成多段。

比如 {1} 表示选项内容的第 1 段,{3} 表示选项内容的第 3 段。

ps | x fzf --height 60% --preview 'printf "%s\n" pid:{1} time:{3}'

使用 --multi 命令选项,启用多选模式

fzf 命令中的 --multi 3 表示在 fzf 界面中,能使用 Tab 键同时标选最多 3 个选项。

ps | x fzf --height 60% --preview 'printf {}' --multi 3

使用 --bind 命令选项,自定义交互界面的快捷键功能

fzf 支持自定义交互界面的快捷键功能,并提供了丰富的功能事件。

比如为 Ctrl-R 键绑定 toggle-preview 事件,以用于切换预览窗口的显示状态。

ps | x fzf --height 60% --preview 'printf {}' --bind 'ctrl-r:toggle-preview'
<Ctrl-R>    # 隐藏预览窗口
<Ctrl-R>    # 再次使用会重新显示预览窗口

再如为 Ctrl-D 键绑定 reload(ps) 事件,为 Ctrl-F 键绑定 reload(ps aux) 事件。

  • reload(ps) 表示重新加载 ps 命令的运行结果到 fzf 中。

  • reload(ps aux) 表示重新加载 ps aux 命令的运行结果到 fzf 中。

ps | x fzf --height 60% --bind 'ctrl-d:reload(ps),ctrl-f:reload(ps aux)'
<Ctrl-F>    # 显示 `ps aux` 命令输出的进程
<Ctrl-D>    # 显示 `ps` 命令输出的进程




更多内容请查阅 : pkg/fzf

转载请标明原文链接www.x-cmd.com/pkg/fzf/coo…


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法