1

When calling CtrlP for the first time it cause quite a delay to build the cache. Is there a way to run it in the background so I can continue doing stuff in vim?

4

2 回答 2

11

If you need to speed up indexing of CtrlP, you can use ag to grep files, exclude some folders and files from indexing, and set cache location.

To do that, put these lines in your .vimrc:

let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
let g:ctrlp_user_command = 'ag %s -i --nocolor --nogroup --hidden
  \ --ignore .git
  \ --ignore .svn
  \ --ignore .hg
  \ --ignore .DS_Store
  \ --ignore "**/*.pyc"
  \ -g ""'
于 2015-09-11T09:24:28.447 回答
3

You cannot do that, in fact, vim isn't multi-threaded.

You can look over for NeoVim which is multi-threaded.

Alternativly, you could use the Unite plugin and the file_rec/async command :

Note: with large projects this may cause some performance problems. Normally it is recommended to use |unite-source-file_rec/async| source, which requires |vimproc|.

于 2015-09-11T07:28:21.350 回答