f :CtrlPMRUlet g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(gi_vim ctrlp 插件">
当前位置:   article > 正文

Vim插件之ctrlp_vim ctrlp 插件

vim ctrlp 插件

下文提到的关于ctrlp使用ag引发的问题已经得到解决,具体内容请参考解决Vim使用ctrlp+ag搜索不能扫描隐藏的文件和目录和自定义忽略文件问题
如果你使用的Vim的版本大于等于8.1,推荐使用fzf.vim,功能更为强大,具体内容可参考Vim插件之fzf.vim
ctrlp,Vim的模糊搜索工具,支持文件,缓冲区,MRU(Most Recently Used)文件和标签等的搜索,也支持通过正则表达式搜索(Ctrl-r进行切换),同类软件还有 command-t,fzf等。ctrlp在速度上虽然有些逊色,但扩展性好,而且因为是由纯vimscript实现的,因此依赖少配置简单。另外,如果觉得ctrlp的速度不理想,还可以调用外部程序比如ag来提升搜索速度,下面是我的配置

"ctrlp
"<Leader>p搜索当前目录下文件
let g:ctrlp_map = '<Leader>p'
let g:ctrlp_cmd = 'CtrlP'
"<Leader>f搜索MRU文件
nmap <Leader>f :CtrlPMRUFiles<CR>
"<Leader>b显示缓冲区文件,并可通过序号进行跳转
nmap <Leader>b :CtrlPBuffer<CR>
"设置搜索时忽略的文件
let g:ctrlp_custom_ignore = {
    \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',
    \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',
    \ }
let g:ctrlp_working_path_mode = 0
let g:ctrlp_match_window_bottom = 1
"修改QuickFix窗口显示的最大条目数
let g:ctrlp_max_height = 15
let g:ctrlp_match_window_reversed = 0
"设置MRU最大条目数为500
let g:ctrlp_mruf_max = 500
let g:ctrlp_follow_symlinks = 1
"默认使用全路径搜索,置1后按文件名搜索,准确率会有所提高,可以用<C-d>进行切换
let g:ctrlp_by_filename = 1
"默认不使用正则表达式,置1改为默认使用正则表达式,可以用<C-r>进行切换
let g:ctrlp_regexp = 0
"自定义搜索列表的提示符
let g:ctrlp_line_prefix = '♪ '

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

如果你想提升搜索速度可以将ctrlp与ag搭配使用,ag的安装可以参考Vim插件之ack.vim中相应的部分,下面是ctrlp调用ag进行搜索的方法

"调用ag进行搜索提升速度,同时不使用缓存文件
if executable('ag')
  set grepprg=ag\ --nogroup\ --nocolor
  let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
  let g:ctrlp_use_caching = 0
endif
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

由于使用外部工具ag扫描必须开启g:ctrlp_user_command选项,而开启这个选项会带来一些副作用,比如g:ctrlp_show_hiddeng:ctrlp_custom_ignore'会失效 ,g:ctrlp_show_hidden用于搜索隐藏的文件和目录, g:ctrlp_custom_ignore用于自定义忽略的文件,如果有这些方面的需求的话就需要权衡一下了。另外,这个项目是有中文文档的,进入~/.vim/bundle/ctrlp.vim/doc中会发现有个ctrlp.cnx的文件,这个就是中文文档,它是同步更新的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/216741
推荐阅读