我使用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 ]
答案 0 :(得分:0)
您可以为命令提供计数,即1<C-]>
,但这只是一种解决方法。
解决此问题的正确方法是避免在标记数据库中使用两个相同的条目。从你的输出中,无法分辨是什么导致了这一点。我曾经遇到过这种情况,当时有备份文件(文件扩展名不同),或者我在层次结构中位置太高的目录上运行ctags
,因此包含了相同库的不同版本