[vim] VIM ctrlp.vim 플러그인 : 파일을 다시 스캔하는 방법?

멋진 ctrlp.vim 플러그인을 발견했습니다 . 이전에 사용한 Command-T 플러그인 의 좋은 대안 입니다. 내가 Command-T에 대해 마음에 들지 않은 점은 vim을 시작한 후 처음으로 파일을 호출 할 때 파일을 다시 스캔하는 데 약 20-30 초가 걸린다는 것입니다.

CtrlP는 훨씬 빠르게 작동하지만 새로 작성된 파일을 자동으로 다시 스캔하지는 않습니다. 재검색을 수동으로 시작하려면 어떻게해야합니까?

감사!



답변

로부터 문서 :

<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 캐시에 추가 된 경우 자동으로 일치 항목을 표시합니다.


답변

으로 지트은 누를 수 있다고 F5그게 당신이 항상 실행할 수 있습니다 작동하지 않는 경우 그러나 :CtrlPClearCache무엇 인 F5실행할 예정이다.

로부터 문서

: CtrlPClearCache
현재 작업 디렉토리의 캐시를 비 웁니다. CtrlP 내부를 누르는 것과 같습니다.
캐싱을 사용하거나 사용하지 않으려면 | g : ctrlp_use_caching | 선택권.


답변

원하는 경우 저장시 캐시를 자동으로 버스트 할 수 있으므로 다음에 사용할 때 새로 고쳐야합니다.

이것을 vimrc (credit 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

불행히도 백그라운드에서 캐시를 자동으로 최신 상태로 유지할 수있는 방법이 없습니다.


답변

ctrlp 캐싱을 끄는 .vimrc에 이것을 추가했습니다.

g:ctrlp_use_caching = 0


답변

나는 이것이 오래된 질문이라는 것을 알고 있지만 너무 간단해서 언급해야합니다. 이것을 .vimrc에 넣으십시오.

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

캐시를 새로 고친 다음 CtrlP를 호출합니다. 더 이상 누락 된 파일이 없습니다.


답변