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


152

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

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

감사!


3
이것은 문서에서 매우 명확하게 답변됩니다.
Mark Wilden

답변:


283

로부터 문서 :

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


105
이 작업은 CTRL-P 모드에서 수행해야합니다. 그래서, 1. ctrl-p2.F5
데이비드 케이

1
거의 나를 위해 일하고, 업데이트되는 것을 볼 수 있지만 새로 추가 된 파일을 찾을 수 없습니다
xer0x

1
@ xer0x 올바른 CWD인지 확인하십시오. NERDTree를 사용하는 동안 동일한 문제가 발생했습니다.
jsbeckr

9
추가하기 위해 현재 파일을 편집하는 동안 자신의 파일을 검색 할 수 없습니다.
Daryll Santos

58

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

로부터 문서

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


Fn 키에 매핑 된 GNU 화면 창이 있으므로 완벽합니다. 감사합니다!
LeonardChallis

6

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

이것을 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

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


2
저장시 비용이 많이 드는 것 같습니다. 새 파일을 생성 할 수있는 트리거가 있습니까?
Alex Moore-Niemi

4

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

g:ctrlp_use_caching = 0


이것은 아마도 원래 질문에 대한 가장 정확하고 가장 정확한 답변 일 것입니다. 특히 함수 행에 액세스하기 위해 대체 수정 자 키가 필요한 컴퓨터에있는 경우 (Apple을보고 있습니다.)
데본 키스

난 밖으로 캐시이 대답처럼, ctrp는 속도까지 높일 AG에 사용할 수있는, 이미 충분히 빨리이다
냔 트란

2

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

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

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


2
왜 캐싱을 비활성화하지 g:ctrlp_use_caching않습니까?
Martin Tournoij
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.