我在 Ubuntu 16.04 上使用 vim-gtk 并使用 exuberant-ctags 在项目的根目录中生成标签文件。我的 vim 实例会随机冻结在插入模式下,通常是在插入句号 (.) 后,我唯一能做的就是关闭该终端并在新终端中打开一个新的 vim 实例。通过从 .vimrc 文件中删除内容,我能够将问题范围缩小到 ctags 的问题。当我删除 时set tags=tags;
,vim 工作正常并且从不冻结。我还注意到,如果我删除根目录中的标签文件,即使set tags=tags;
位于 vimrc 中,它也不再冻结。
我尝试过的事情:
- 其他问题提到了Ctrl+S和Ctrl+Q。当它在插入模式下冻结时,Ctrl+Q 不起作用,我确信我不会意外地键入 Ctrl+S,因为我尝试故意按下它,然后 Ctrl+Q 确实起作用。
- 卸载并重新安装 vim、vim-gnome、vim-gtk 等...
- 卸载并重新安装 exuberant-ctags
这些都不能解决问题。以前有人遇到过这个问题吗?如果没有明显的修复方法,有人可以推荐一个 exuberant-ctags 的替代品吗?它可以与 vim 一起使用,而不会让它在我的机器上冻结?
答案1
Vim 冻结是因为我的标签文件太大。我向 .agignore 添加了几个目录和文件类型,然后使用它重新运行 ctags,这导致标签文件小得多(19MB 而不是 2GB),现在 vim 不再冻结ctags -R [email protected]