vim ctags,两个相同的条目,不会直接跳转到定义

时间:2017-08-14 06:27:48

标签: linux bash shell vim ctags

我使用ctags -R .生成代码

如果我在某个函数上尝试ctrl ],我总会得到两个相同的条目

 # pri kind tag                    file
  1 F   f    accept_the_connection  src/connection.c
               int accept_the_connection(connection *conn)
  2 F   f    accept_the_connection  src/connection.c
               int accept_the_connection(connection *conn)
Type number and <Enter> (empty cancels):

我必须输入1或2才能跳转到定义。

如何让VIM直接跳转?

更新1:

这似乎是我的环境问题

所以我安装了VirtualBox的Mac主机,我有一个CentOS客户端。 我在CentOS环境中开发。

我在Mac和CentOS之间创建了一个共享文件夹:

[Mac]/Users/sato/Dropbox/projects/asdf => [Centos] /home/sato/asdf

和src / connection.c在/ home / sato / asdf

如果我将asdf复制到/ home / sato / fdsa然后在vim中复制ctrl ]

1 个答案:

答案 0 :(得分:0)

您可以为命令提供计数,即1<C-]>,但这只是一种解决方法。

解决此问题的正确方法是避免在标记数据库中使用两个相同的条目。从你的输出中,无法分辨是什么导致了这一点。我曾经遇到过这种情况,当时有备份文件(文件扩展名不同),或者我在层次结构中位置太高的目录上运行ctags,因此包含了相同库的不同版本