改变CTLRP启动默认映射和默认的命令,vimrc中添加
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
当引用没有明确的开始目录时,CTLRP会按照以下值来设定工作目录
let g:ctrlp_working_path_mode = 'ra'
‘c’--当前文件的目录
‘a’--当前文件的目录,除非它是cwd的子目录
‘r’--最近的当前文件,包含了这些.git .hg .svn .bzr_darcs文件或目录
‘w’--和r类似,以cwd开始搜索,而非以当前文件目录
如果默认文件标记(.git .hg .svn .bzr _darcs)都不在项目里,你可以用g:ctrlp_root_markers添加进去
let g:ctrlp_root_markers = ['pom.xml', '.p4ignore']
如果超过一种模式被指定,它们会试图按次序执行直到一个目录被定位。
如果一个文件已经打开,会在新框里再次打开它,而非切换到当前方框。
let g:ctrlp_switch_buffer = 'et'
排除文件和文件件使用vim的wildignore以及ctrlp自己的g:ctrlp_custom_ignore,如果使用了自定义文件列表命令,排除会被忽略
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn)$',
\ 'file': '\v\.(exe|so|dll)$',
\ 'link': 'some_bad_symbolic_links',
\ }
使用自定义文件列表命令
let g:ctrlp_user_command = 'find %s -type f' " MacOSX/Linux
let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d' " Windows
在.gitignore中忽略文件
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']