Плагин VIM ctrlp.vim: как повторно сканировать файлы? - PullRequest
146 голосов
/ 29 декабря 2011

Я столкнулся с потрясающим ctrlp.vim плагином . Это хорошая альтернатива плагину Command-T , который я использовал ранее. Что мне не понравилось в Command-T, так это то, что при повторном запуске файлов после первого запуска vim потребуется около 20-30 секунд.

CtrlP работает намного быстрее, но, похоже, автоматически не сканирует вновь созданные файлы. Как мне вручную запустить повторное сканирование?

Спасибо!

Ответы [ 5 ]

268 голосов
/ 29 декабря 2011

Из документации :

<F5>
  - Refresh the match window and purge the cache for the current directory.
  - Remove deleted files from MRU list.

Предполагается, что вы уже находитесь в режиме ctrl-p.Обратите внимание, что вы можете нажать F5 в середине запроса, то есть вы можете ввести несколько символов, обнаружить, что он не соответствует недавно обновленному файлу, и нажать F5, чтобы обновить его прямо сейчас.Он автоматически покажет вам совпадение, если файл был только что добавлен в кэш ctrl-p.

55 голосов
/ 28 августа 2014

Как Джит говорит, что вы можете нажать F5 , но если это не сработает, вы всегда можете запустить :CtrlPClearCache, что и должно выполняться F5,

Из документации

: CtrlPClearCache
Очистить кэш для текущего рабочего каталога. Так же, как нажатие внутри CtrlP.
Чтобы включить или отключить кэширование, используйте | g: ctrlp_use_caching | опция.

6 голосов
/ 02 сентября 2015

Если вы хотите, вы можете автоматически уничтожить кэш при сохранении, поэтому он будет обновлен при следующем использовании.

Поместите это в свой vimrc (кредит docwhat ):

" CtrlP auto cache clearing.
" ----------------------------------------------------------------------------
function! SetupCtrlP()
  if exists("g:loaded_ctrlp") && g:loaded_ctrlp
    augroup CtrlPExtension
      autocmd!
      autocmd FocusGained  * CtrlPClearCache
      autocmd BufWritePost * CtrlPClearCache
    augroup END
  endif
endfunction
if has("autocmd")
  autocmd VimEnter * :call SetupCtrlP()
endif

К сожалению, нет способа автоматически сохранять кэш свежим в фоновом режиме.

3 голосов
/ 28 октября 2017

Я добавил это в .vimrc, который отключает кеширование ctrlp

g:ctrlp_use_caching = 0

1 голос
/ 13 октября 2016

Я знаю, что это старый вопрос, но он настолько прост, что я должен комментировать.Поместите это в ваш .vimrc

:nnoremap <c-p> :CtrlPClearCache<bar>CtrlP<cr>

Это обновит кеш и затем вызовет CtrlP.Нет больше пропавших файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...