素晴らしいctrlp.vimプラグインを見つけました。これは、以前使用したCommand-Tプラグインに代わる優れたものです。Command-Tについて私が気に入らなかったのは、vimを起動した後で初めて呼び出されたときにファイルを再スキャンするのに約20〜30秒かかることです。
CtrlPははるかに高速に動作しますが、新しく作成されたファイルを自動的に再スキャンするようには見えません。手動で再スキャンをトリガーするにはどうすればよいですか?
ありがとう!
素晴らしい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キャッシュに追加されたばかりの場合、一致が自動的に表示されます。
ctrl-p
.F5
JEETは、あなたが押すことができますと言うF5が、それが動作しない場合は、いつでも実行できる:CtrlPClearCache
ものをしていますF5実行することになっています。
ドキュメントから
:CtrlPClearCache
現在の作業ディレクトリのキャッシュをフラッシュします。CtrlPの内側を押すのと同じです。
キャッシュを有効または無効にするには、| g:ctrlp_use_caching |を使用します オプション。
必要に応じて、保存時にキャッシュを自動的に無効にすることができます。これにより、次回の使用時にキャッシュが強制的に更新されます。
これを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
残念ながら、バックグラウンドで自動的にキャッシュを最新の状態に保つ方法はありません。
これを.vimrcに追加して、ctrlpキャッシングをオフにします
g:ctrlp_use_caching = 0
私はこれが古い質問であることを知っていますが、非常に簡単なのでコメントする必要があります。これを.vimrcに入れます
:nnoremap <c-p> :CtrlPClearCache<bar>CtrlP<cr>
これによりキャッシュが更新され、CtrlPが呼び出されます。不足しているファイルはもうありません。
g:ctrlp_use_caching
ですか?