使用模糊搜索在Vim中打开文件

Eda*_*aor 50 vim text-editor editor

我正在寻找一种方法让Vim能够通过模糊搜索其名称来打开文件.

基本上,我希望能够定义一个项目,然后有一个快捷方式,它将为我提供一个键入文件名的位置,并且如果有任何字母匹配则匹配.

这种功能存在于我见过的大多数编辑中,但对于我的生活,我无法理解如何让Vim这样做.

请注意,我寻找的东西,不会要求我有什么想法,凡在我目录树中的文件.我只是希望能够通过文件名打开它,无论它在哪个目录中.

谢谢

Chr*_*ler 59

有两个伟大的vim插件为此.

ctrlp:

  • 用纯VimL编写
  • 几乎无处不在
  • 支持定制查找​​器以提高性能
  • 最受欢迎的Vim模糊搜索插件

Command-T:

  • 用C,VimL和Ruby编写
  • 快速开箱即用
  • 需要+rubyVim支持
  • 推荐Vim版本> = 7.3

编辑:

我使用Ctrlag作为我的自定义查找器,它非常快(即使在大型项目中)也非常便携.

使用agCtrlP的示例:

if executable('ag')
  " Use Ag over Grep
  set grepprg=ag\ --nogroup\ --nocolor

  " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
  let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
Run Code Online (Sandbox Code Playgroud)

  • 自从发布这个问题以来,我已经转而使用ctrlp,就像许多其他的Vim'ers一样.我现在认为它是de-factor文件切换器插件(后面有Command-t关闭). (3认同)
  • 使用ctrlp和自定义finder命令,例如ack甚至更好的ag(银色搜索器).与command-t相比,这将真正加快您的搜索速度,即使您在其中启用了c find命令也是如此.我对守望者的经历有点慢 (3认同)