26

我已经阅读了文档,但无法确定这是否可能。

我想保留默认设置g:ctrlp_working_path_mode = 2,但如果需要,我希望能够手动覆盖当前窗口中的所有缓冲区。

具体来说,我想发出一个 ctrlp 命令或更改一个设置根搜索目录的 ctrlp 配置变量,这样无论我在哪个缓冲区中,都使用该目录进行所有未来的搜索。

奖励问题:是否可以设置两个根目录,以便搜索它们并组合结果?

谢谢!

4

4 回答 4

18

试试这个:

让 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
于 2012-12-18T22:34:07.040 回答
13

我用:

let g:ctrlp_cmd='CtrlP :pwd'

这将 ctrlp 突击队重新映射到 :ctrlp :pwd

于 2015-10-07T13:53:05.800 回答
9

您可以在 vimrc 中使用以下内容

noremap <C-a> :CtrlP /yourdir/<CR>

每当您按ctrl+actrlp 时,都会将 /yourdir/ 作为根目录

于 2014-10-14T09:25:31.480 回答
4

Ctrlp 触发对当前工作目录的搜索。因此,虽然您可以设置默认 g:ctrlp_working_path_mode = 2 ,但您可以通过更改密码轻松覆盖当前窗口。例子

(默认情况下)

:pwd tmp/vim/usr

你想把它改成 tmp 只是为了

:cd ../../

现在运行 ctrlp

于 2014-07-20T23:02:34.110 回答