VIM ctrlp.VIM 插件: 如何重新扫描文件?

我已经遇到了令人敬畏的 Vim 插件。这是一个很好的替代 Command-T 插件,我以前使用过。我不喜欢 Command-T 的一点是,在启动 vim 之后第一次调用它时,重新扫描文件需要大约20-30秒。

CtrlP 的工作速度要快得多,但它似乎不会自动重新扫描新创建的文件。如何手动触发重新扫描?

谢谢!

34881 次浏览

来自 文件:

<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应该运行。

来自 文件

校对: CtrlPCleCache
刷新当前工作目录的缓存,与按 <F5>相同 在 CtrlP 里面。
若要启用或禁用缓存,请使用 | g: ctrlp _ use _ cached | 选项。

如果需要,可以在保存发生时自动终止缓存,因此在下次使用时将强制刷新缓存。

把这个放到你的 vimrc (信用卡 做什么) :

" 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

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

这将刷新缓存,然后调用 CtrlP。不再丢失文件。

我把它添加到.vimrc 中,它关闭了 ctrlp 缓存

g:ctrlp_use_caching = 0