f :CtrlPMRU 赞 踩 下文提到的关于ctrlp使用ag引发的问题已经得到解决,具体内容请参考解决Vim使用ctrlp+ag搜索不能扫描隐藏的文件和目录和自定义忽略文件问题 如果你想提升搜索速度可以将ctrlp与ag搭配使用,ag的安装可以参考Vim插件之ack.vim中相应的部分,下面是ctrlp调用ag进行搜索的方法 由于使用外部工具ag扫描必须开启 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。
Vim插件之ctrlp_vim ctrlp 插件
如果你使用的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 = '♪ '
"调用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
g:ctrlp_user_command
选项,而开启这个选项会带来一些副作用,比如g:ctrlp_show_hidden
和g:ctrlp_custom_ignore'会失效 ,
g:ctrlp_show_hidden用于搜索隐藏的文件和目录,
g:ctrlp_custom_ignore
用于自定义忽略的文件,如果有这些方面的需求的话就需要权衡一下了。另外,这个项目是有中文文档的,进入~/.vim/bundle/ctrlp.vim/doc
中会发现有个ctrlp.cnx
的文件,这个就是中文文档,它是同步更新的。