1

我在配置 vim 插件时遇到问题CtrlP。我通常使用 3 个不同目录中的文件,比如,C:/A当 我启动 vim 并尝试查找文件时找不到任何文件C:/B/DJ:/ACtrlP

那么我怎么能说 CtrlP 先查看这些目录呢?其次,我希望 CtrlP 记住我打开的所有文件,因为我可能会再次打开它们我怎么能告诉 CtrlP 这样做?

这是我的配置

"=============================
"=========== CTRLP ===========
"=============================
">>Use this option to change the mapping to invoke CtrlP in |Normal| mode
let g:ctrlp_map = '<c-p>'
">>Set the default opening command to use when pressing the above mapping
let g:ctrlp_cmd = 'CtrlP'
">>searching by filename (as opposed to full path)
let g:ctrlp_by_filename = 0 "in {0,1}
">>When opening a file, if it's already open in a window somewhere, CtrlP will try
"  to jump to it instead of opening a new instance
let g:ctrlp_switch_buffer = 'E'
">>Set the directory to store the cache files
let g:ctrlp_cache_dir = 'C:/Travail/Tools/vim-7.4.020-python-2.7-python-3.3-windows-x86/bundle/ctrlp.vim-master/cacheFiles'

额外的问题:在这个插件中,就像在其他一些插件中一样,我想提到$VIMwhich 对我来说是C:/Travail/Tools/vim-7.4.020-python-2.7-python-3.3-windows-x86,但在这里看起来 CtrlP 不明白它如何修改g:ctrlp_cache_dir以使用$VIM

4

1 回答 1

3

您的问题与 CtrlP 并没有真正的关系,因为它只是试图遵循 Vim 自己的模式。

其中一种模式是“工作目录”:它是在 Vim 启动时自动设置的,以后可以更改,但它通常是项目的顶级目录。为了让 CtrlPVim 能够找到您的文件,您必须将工作目录设置为三个目录的父目录。这已经完成了,:cd /path/to/dir但我的印象是你将无法在 Windows 上找到这样的目录。

或者,您可以将映射添加到您的vimrc

nnoremap <key> :CtrlP /path/to/dir1<CR>
nnoremap <key> :CtrlP /path/to/dir2<CR>
nnoremap <key> :CtrlP /path/to/dir3<CR>

并使用:CtrlPMRU:CtrlPMixed

我同意 Ingo 的观点,这是问题跟踪器的东西。

但是,实际上,整合您的所有内容并修复您的工作流程才是您所需要的。

于 2013-10-04T15:49:04.430 回答