vim - 为什么我的ctag函数跳转极慢?

标签 vim tags ctags


2014 年 7 月 22 日重要更新

我发现只有跳转到其他目录中的模块和类时才会发生耗时跳转。并且跳转到其他目录中的其他模块中的函数或方法很快(花费1或2秒)


我是 ctags 新手,所以我尝试在网上查找一些教程。

我读了其中的大部分,发现这个听起来更官方:source_forge ctag faq

但是我发现遵循本教程中的方法3:在每个叶子节点目录中构建标记文件,并在主目录中构建非静态标记文件。但我无法在其自己的不同模块之间跳转叶节点。我只能从主目录跳转到叶子节点模块函数。

无论如何,我找到了另一个教程:benoithamelin's personal tutorial 。我在主目录中构建了一个巨大的标签,包括 4700 多个标签行。通过使用

ctags -R *

嘿, friend 们。我发现我现在可以跳了。除了一些跳跃,我需要等待大约30秒。这是难以忍受的,而对于其他 View 标签,我可以在 1 或 2 秒内快速切换到它们。这是怎么回事?我该如何修复它?

下面是我的目录结构的树形图:

my_project
├── tags  # my tag is here
├── lib
│   ├── dir1
│   │   └── sub_dir1
│   ├── dir2
│   ├── dir3
│   └── dir4
├── logics
│   ├── dir1
│   ├── dir2
│   │   └──sub_dir1
│   ├── dir3
│   └── dir4
├── models
└── views
  • 症状是你在vim编辑界面卡住了,无法输入任何命令,直到函数跳转完成,花了近30秒。
  • 我正在使用 Exuberant Ctags 5.9、Vim 7.4 和 Ubuntu 14.04 以及 wmii
  • 我标签搜索到的my_project目录是Windows7主操作系统和VirtualBox Ubuntu 14.04操作系统之间的共享目录
  • 我也在使用taglist,但是当我编辑主目录中包含标签文件的文件时,我没有看到子目录中的函数,例如逻辑,出现在taglist(:TlistToogle)中。
  • 当函数跳转处于死锁搜索状态时,即使 vim/path/to/my/file 也会很慢

最佳答案

我只想在这里添加这个作为答案,因为它被隐藏在 @sylvain 的评论中:

set tags=tags
set path=.

添加到我的 vimrc 中,运行 Neovim 0.2 为我解决了这个问题。以防将来有人需要这个。

关于vim - 为什么我的ctag函数跳转极慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24783499/

相关文章:

Ctag 不工作

python - 当我尝试为所有 python 库构建标记文件时,ctags 永远不会停止

vim - 删除单词和前面的空格

linux - 如何激活VIM中高亮显示的C语法?

vim - 将一个范围的行附加到另一行范围的末尾

html - 我可以在 SVG 元素中使用 alt 和 title 属性吗?

css - 双击时如何停止突出显示div元素

java - 在java代码中实例化jsp 2.0的标签

windows - 旺盛的Ctags无法在Windows上正确排除文件

c++ - 带彩虹括号的 Vim 折叠