![访问/复制fzf预览窗口的内容](https://linux22.com/image/218646/%E8%AE%BF%E9%97%AE%2F%E5%A4%8D%E5%88%B6fzf%E9%A2%84%E8%A7%88%E7%AA%97%E5%8F%A3%E7%9A%84%E5%86%85%E5%AE%B9.png)
是否可以访问/复制fzf预览窗口的内容?例如,此代码创建一个由几个选定文件的前十行组成的列表:
find -type f | fzf --multi --preview='head -10 {+}'
但我似乎无法访问/复制该窗口。当我终止 fzf 时,一切都会丢失。
答案1
我相信 fzf 旨在作为一种交互式工具,因此您不应该尝试直接读取显示内容。如果你检查tldr fzf
:
$ tldr fzf
(...)
Select multiple files with `Shift + Tab` and write to a file:
find path/to/directory -type f | fzf --multi > path/to/file
(...)
所以后您选择文件(或输入一个文件),它将被打印到标准输出,您可以通过管道将其传输到其他程序。
如果您只是想要 fzf 列表中的所有内容,而无需对每个列表进行 Shift+Tab 操作,那么您可以跳过 fzf 并执行find -type f | head -10 {+}
.
如果您想要原始输入,但根据 fzf 的规则排序,我不知道该怎么做。也许手册上说,或者可能是一个功能请求。
我用https://sw.kovidgoyal.net/kitty/作为我的终端,它有一个很好的功能,我可以按一个键并让终端本身向剪贴板发送一行(map ctrl+shift+p>l kitten hints --type line --program @
)或在文本编辑器中打开终端回滚(map ctrl+shift+f12 launch --stdin-source=@screen_scrollback kate --stdin
)。这听起来更像是您想要做的事情,但您只能使用 kitty 来完成,而不能使用其他终端来完成。