首页 > 解决方案 > fzf.vim 动态更改工作目录

问题描述

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

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

在此处输入图像描述

标签: vimfuzzy-searchfzfvim-fzf

解决方案


:chdir您可以使用或熟悉的:cd命令更改当前 vim 当前的工作目录。有关: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>

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

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


推荐阅读