使用 fzf 的 CTRL+T 将命令放入命令行

使用 fzf 的 CTRL+T 将命令放入命令行

我在一个文件(称为 sniplist)中保留了常用命令片段的列表,我用它来将需要的内容剪切/复制到命令行上,以便在执行之前进行进一步编辑。我想我可以利用 fzf 的 CTRL+T 选项来更轻松地完成这项工作。相关的默认环境变量是:

export FZF_CTRL_T_COMMAND="find . -type f -printf '%P\n'"

所以我简单地将其更改为:

export FZF_CTRL_T_COMMAND="cat ~/sniplist"

这按预期向我展示了我的片段列表。我选择一行,它出现在命令行上——但所有非字母字符都用反斜杠转义。例如,这样的行:

seq 0 4 100 | fzf --preview="date -d '{}  week 18 april 2023'"

放在命令行上如下:

seq\ 0\ 4\ 100\ \|\ fzf\ --preview=\"date\ -d\ \'\{\}\ \ week\ 18\ april\ 2023\'\"

我怎样才能避免这种不良影响?

相关内容