zca*_*dqe 10 vim fuzzy-search fzf vim-fzf
当我:Files在 fzf.vim 中使用时,它会搜索当前目录和子目录中的文件。当前工作目录是固定的。在下面的屏幕截图中,它是浅蓝色的。有没有办法动态更改运行 FZF 的工作目录?例如,如果我只是删除“Documents”路径,那么 FZF 从 ~ 而不是 ~/Documents 开始。
这种功能在 Emacs helm 包中是可能的,它允许通过 helm-execute-persistent-action 来实现。
您可以更改 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是用于编辑主窗口。