Vim 如何在CtrlP中保留以前的目录?
使用CtrlP插件,我输入了几次Vim 如何在CtrlP中保留以前的目录?,vim,ctrlp,Vim,Ctrlp,使用CtrlP插件,我输入了几次。,以进入项目的根目录,然后从那里执行搜索 但是,在我重新打开CtrlP后,它仍然在当前文件的目录中搜索 我怎样才能让它坚持我最初设置的目录呢?当然,通过阅读它的文档 如果希望CtrlP始终在项目的根目录中打开(如果适用),只需将此行添加到~/.vimrc: let g:ctrlp_working_path_mode=2 但是您也可以使用:CtrlP在当前目录中浏览,也可以使用:CtrlpRoot在项目的根目录中浏览 或者简单地使用:CtrlPLastMod
。
,以进入项目的根目录,然后从那里执行搜索
但是,在我重新打开CtrlP后,它仍然在当前文件的目录中搜索
我怎样才能让它坚持我最初设置的目录呢?当然,通过阅读它的文档
- 如果希望CtrlP始终在项目的根目录中打开(如果适用),只需将此行添加到
:~/.vimrc
let g:ctrlp_working_path_mode=2
- 但是您也可以使用
在当前目录中浏览,也可以使用:CtrlP
在项目的根目录中浏览:CtrlpRoot
- 或者简单地使用
以…最后一种模式启动CtrlP:CtrlPLastMode
- 如果您的项目不符合CtrlP对项目的定义,那么简单的映射就足够了:
nnoremap <key> :CtrlP /path/to/project<cr>
:CtrlPLastMode
:--dir
中添加了一个可选参数,该参数完全满足您的要求:
:CtrlPLastMode --dir
g:ctrlp\u working\u path\u mode
的值也不同。我相信r
相当于2
k,但这些建议似乎都不是答案。我在文档中没有看到选项“2”,可用的g:ctrlp\u working\u path\u mode
选项似乎是c、a、r、w或0
。此外,CtrlP似乎通过某个目录识别一个项目,该目录中有一个.git
文件。我只想让它坚持到我搜索的最后一个目录。如果这件事不可能,我就把它当作一个答案。明白了:CtrlPLastMode--dir
作业是否实际打开另一个文件似乎会更改工作目录…因此该选项几乎毫无用处。我猜解决方案是只需触摸项目目录中的.git
文件。
:CtrlPLastMode --dir