2013-10-04 4 views
1

У меня проблемы с настройкой плагина vim CtrlP. Обычно я работаю с файлами в 3-х различных каталогах говорят C:/A, C:/B/D, J:/A Когда я начинаю Vim и попытаться найти файл CtrlP не найти ниКак иметь CtrlP найти мой файл

Так как я могу сказать 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' 

Бонус вопрос: в этом плагине, как и в некоторых других, которые я хотел бы упомянуть $VIM, который для меня является C:/Travail/Tools/vim-7.4.020-python-2.7-python-3.3-windows-x86, но здесь, похоже, CtrlP не понимаю как я могу изменить g:ctrlp_cache_dir использовать $VIM

+2

Почему бы вам не спросить об этом [вопросник] (https://github.com/kien/ctrlp.vim/issues)? –

+0

Я думаю, что здесь тоже может быть полезно – statquant

ответ

3

Ваша проблема не имеет отношения к CtrlP, поскольку она просто пытается следовать собственным шаблонам Vim.

Один из этих шаблонов - «рабочий каталог»: он устанавливается автоматически, когда Vim запускается и может быть изменен позже, но обычно это каталог верхнего уровня вашего проекта. Для CtrlP и Vim, чтобы иметь возможность находить ваши файлы, вам нужно установить рабочий каталог родительскому элементу трех ваших каталогов. Это делается с помощью :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.

И я согласен с Инго, это выпуск Tracker.

Но, действительно, консолидация всех ваших вещей и исправление рабочего процесса - это то, что вам нужно .

+0

Хорошо, но наверняка есть способ, чтобы CtrlP мог запомнить некоторые файлы, которые были открыты, если предыдущие сеансы не были? О рабочем директории, не могу ли я указать его каким-либо другим способом, я не хочу определять сопоставления, чтобы сделать что-то вроде этого, нет ли возможности указать эти каталоги для CtrlP для сканирования этих дисков каждый раз? – statquant

+0

: CtrlPMRU - это команда поиска предыдущих файлов, как я писал в своем ответе. Вы читали? И: help ctrlp? – romainl