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/