fzf.vim 动态更改工作目录

zca*_*dqe 10 vim fuzzy-search fzf vim-fzf

当我:Files在 fzf.vim 中使用时,它会搜索当前目录和子目录中的文件。当前工作目录是固定的。在下面的屏幕截图中,它是浅蓝色的。有没有办法动态更改运行 FZF 的工作目录?例如,如果我只是删除“Documents”路径,那么 FZF 从 ~ 而不是 ~/Documents 开始。

这种功能在 Emacs helm 包中是可能的,它允许通过 helm-execute-persistent-action 来实现。

在此处输入图片说明

Har*_*ish 6

您可以更改 vim 当前使用的:chdir或熟悉的:cd命令的当前工作目录。查看:h cd更多信息。

如果您不想更改 vim 的工作目录,而只想 fzf 使用不同的目录,则可以:h fzf#run使用自定义dir选项运行 fzf ( ) 。

这是我~/.vimrc在我的/.vim目录中打开文件的示例映射:

nnoremap <leader>fv :call fzf#run({'options': '--reverse --prompt "VimFiles"', 'down': 20, 'dir': '~/.vim/', 'sink': 'e' })<CR>
Run Code Online (Sandbox Code Playgroud)

对于动态路径,您添加一个将路径作为参数的命令,确保使用完成作为文件来完成路径的制表符。有关文件完成的更多信息,请参阅此答案

sink选项告诉在找到匹配项时要做什么/执行什么。并且e是用于编辑主窗口。

  • 我可能误解了,但问题不是问如何在“fzf”窗口仍在运行时更改目录吗?即,能够在不退出“fzf”窗口/重新开始的情况下按“退格”(或“../”)。 (2认同)