Как заставить CtrlP найти мой файл

У меня проблемы с настройкой подключаемого модуля vim CtrlP. Обычно я работаю с файлами в 3 разных каталогах, например _2 _, _ 3 _, _ 4_ Когда я запускаю vim и пытаюсь найти файл, 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


person statquant    schedule 04.10.2013    source источник
comment
Почему бы вам сначала не спросить об его системе отслеживания проблем ?!   -  person Ingo Karkat    schedule 04.10.2013
comment
Думаю, здесь тоже может быть полезно   -  person statquant    schedule 04.10.2013


Ответы (1)


Ваша проблема на самом деле не связана с 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.

И я согласен с Инго, это материалы для отслеживания проблем.

Но на самом деле вам нужно объединить все свои данные и исправить рабочий процесс.

person romainl    schedule 04.10.2013
comment
Хорошо, но, конечно, есть способ для CtrlP запомнить некоторые файлы, которые были открыты, если предыдущих сеансов нет? Что касается рабочего каталога, не могу ли я указать его другим способом, я не хочу определять сопоставления, чтобы делать что-то вроде этого, разве нет возможности указать эти каталоги для CtrlP, чтобы сканировать эти каталоги каждый раз? - person statquant; 04.10.2013
comment
: CtrlPMRU - это команда для поиска предыдущих файлов, как я написал в своем ответе. Вы это читали? И: help ctrlp? - person romainl; 04.10.2013