ctrlp :CtrlPTag 搜索慢

ctrlp :CtrlPTag search slow

我正在使用 ctrlp.vim 并且正在尝试使用 :CtrlPTag 功能。我使用此博客 post:

中的说明设置 ctags

https://blog.sensible.io/2014/05/09/supercharge-your-vim-into-ide-with-ctags.html

我已经为我的 Rails 项目和所有捆绑的 gem 生成了一个 ctags 文件:

ctags -R --languages=ruby --exclude=.git --exclude=log . $(bundle list --paths)

ctags 文件大约 13 MB。

当我尝试 运行 :CtrlPTag 并且只搜索方法时,搜索速度非常慢。尝试键入和删除搜索文本几乎完全挂起 vim。

有没有人有任何加速的建议:CtrlPTag

注意:我曾尝试将 vimgrep 设置为使用 'ag',我认为这样会更快,但这并没有帮助。请参阅:https://thoughtbot.com/blog/why-postgres-wont-always-use-an-index(我想这只会对文件搜索有帮助)

感谢您的帮助!

我不太愿意将其作为答案,因为它不是答案,但您应该考虑 fzf.vim 来搜索标签。我在使用 CtrlP 时遇到了类似的问题,它在大标签文件上速度非常慢。 fzf 与标签的 CtrlP 几乎相同,除了它可以快几个数量级。只需使用您选择的包管理器安装它,并使用 :Tags:

的映射更新您当前对 CtrlPTags 的映射
" Search tags
nnoremap _ :Tags<CR>

您不需要切换到 fzf

ctrlp 的默认搜索器使用 vimL,所以速度很慢。但是,ctrlp 可以使用在 C 或其他低级语言中实现的扩展。

从那以后,ctrlp 已经存在了很长时间,它有很多扩展并且非常稳定

添加此扩展程序:

https://github.com/FelikZ/ctrlp-py-matcher