我已阅读过文档,但无法弄清楚这是否可行。
我想保留默认设置g:ctrlp_working_path_mode = 2
,但我希望能够根据需要手动覆盖当前窗口中所有缓冲区的设置。
具体来说,我想发出一个ctrlp命令或更改设置根搜索目录的ctrlp配置变量,这样就可以将该目录用于所有将来的搜索,无论我在哪个缓冲区。
奖金问题:是否可以设置两个根目录,以便搜索它们并合并结果?
谢谢!
答案 0 :(得分:15)
试试这个:
让g:ctrlp_working_path_mode ='ra'
'c' - 当前文件的目录。
'r' - 包含以下目录或文件之一的最近的祖先:.git .hg .svn .bzr
'a' - 与c类似,但前提是当CtrlP之外的当前工作目录不是当前文件目录的直接祖先。
0或''(空字符串) - 禁用此功能。
来源:https://github.com/kien/ctrlp.vim
另外,在这里:https://github.com/kien/ctrlp.vim/issues/292,作者提供了一种设置完整路径的方法:
:CtrlP /var/www/myproject/bla/bla/theme
答案 1 :(得分:11)
我用:
let g:ctrlp_cmd='CtrlP :pwd'
这个重映射ctrlp命令到:ctrlp:pwd
答案 2 :(得分:8)
您可以在vimrc中使用以下内容
noremap <C-a> :CtrlP /yourdir/<CR>
无论何时按ctrl+a
,ctrlp都会将/ yourdir /作为根目录
答案 3 :(得分:4)
Ctrlp会触发搜索当前工作目录。 因此,虽然您可以设置默认的g:ctrlp_working_path_mode = 2,但您可以通过更改pwd轻松覆盖当前窗口。 例子
(默认情况下)
:pwd tmp/vim/usr
并且您希望将其更改为tmp,只需
:cd ../../
现在运行ctrlp