我已经使用fzf有一段时间了,发现它真的很棒,但是有一件事我想让它做,但我不认为我在谷歌上搜索到了正确的单词。
我将它与zsh终端上的neovim一起使用,我想让它只搜索我键入的目标目录。
$ vi folder_name/ # Ctrl + T here目前,当我点击Ctrl+T时,它会搜索当前目录,而不仅仅是folder_name的内容。
通过Plug安装,在.zshrc中我有:
source ~/.fzf.zsh
export FZF_DEFAULT_COMMAND='ag --hidden --ignore .git -l -g ""'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"我尝试删除导出行,因为我认为这可能是它的默认行为,但没有结果。
我如何才能做到这一点?
发布于 2021-02-11 10:23:35
我对Linux不是很熟悉,但是ctrl-t似乎只是在命令行中插入结果。与补全函数相比,补全函数似乎从缓冲区生成前缀,并将其作为路径传递给find命令。
尝试使用补全函数或将其用作指南
发布于 2021-02-20 01:08:46
我想不出一种内置的方法来做这件事,但我们可以在终端中实现任何事情!
首先想到的是创建一个函数,该函数将自动执行此操作,并通过添加一个键绑定来使其更快。
使用zsh,您可以设置自己的CTRL键绑定。例如,我建议使用CTRL -f。我不认为这应该与任何其他绑定冲突。我们可以使用bindkey命令调用我们的函数。
将这些项目放入您的.zshrc中以使其可用。
# Set CTRL + f to call our function
bindkey -s '^f' 'FzfViDir^M'
function FzfViDir()
{
# Use fzf to get into the right folder. The ls command sends folder names to fzf
cd $(ls -d */ | fzf)
# Now fzf will only search the directory you have chosen
vi $(fzf)
}https://stackoverflow.com/questions/66060649
复制相似问题