2012-08-08 78 views
21

我已阅读文档,但无法弄清楚这是否可能。Vim CtrlP插件:手动设置根目录搜索目录?

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

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

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

谢谢!

回答

14

试试这个:

设G:ctrlp_working_path_mode = '岭'

'C' - 当前文件的目录。

“R” - 它包含这些目录或文件的一个最近的祖先:git的.hg的.svn .bzr

“一” - 像C,但只有当CtrlP外的当前工作目录是不是当前文件目录的直接祖先。

0或''(空字符串) - 禁用此功能。

来源:https://github.com/kien/ctrlp.vim

而且,在这里:https://github.com/kien/ctrlp.vim/issues/292,笔者提供了设置FULLPATH一种方法:

:CtrlP /var/www/myproject/bla/bla/theme 
+0

现在已经被这个选项非常出色(如果你设置vim工作目录到你的回收站上面,它可以让你保持“外部”并搜索所有这些选项)。当你有很多小回购(这通常是使用git配置大型代码库的最佳方式)时很有用 – 2016-05-02 15:01:19

+0

如果这仍然有效,我不确定。 Steven的回答是对我有用的。 'let g:ctrlp_cmd ='CtrlP:pwd'' – 2018-01-31 11:01:34

4

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

(默认)

:pwd tmp/vim/usr

,你想改变它TMP的只是

:cd ../../

现在运行ctrlp

8

可以使用以下在您的vimrc中

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

每当按ctrl+a的ctrlp将采取/ yourdir /作为根目录

+1

我发现'noremap :CtrlP〜'非常有用。 – 2015-02-06 16:18:30

8

我用:

let g:ctrlp_cmd='CtrlP :pwd' 

这个重映射ctrlp突击队到:ctrlp:PWD