如果查看tags
文件,则可以看到三个定义fc()
是相同的:
fc pam.cpp /^ void fc() {$/;" f class:A
fc pam.cpp /^ void fc() {$/;" f class:B
fc pam.cpp /^ void fc() {$/;" f class:C
默认情况下,Ctags不向Vim提供line:column信息,它仅提供搜索模式。由于这三个标签的搜索模式相同,因此Vim始终执行相同的搜索,并始终位于相同的位置。如果你使用也没关系:tag fc
,<C-]>
,:tnext
,:tselect
或者他们的朋友。
使用该-n
选项,Ctags输出行号而不是搜索模式:
fc pam.cpp 14;" f class:B
fc pam.cpp 21;" f class:C
fc pam.cpp 7;" f class:A
这样更好,因为Vim现在可以跳到正确的行,但是标签的顺序不正确。解决此问题的一种方法是使用以下-u
选项:
A pam.cpp 5;" c file:
fc pam.cpp 7;" f class:A
B pam.cpp 12;" c file:
fc pam.cpp 14;" f class:B
C pam.cpp 19;" c file:
fc pam.cpp 21;" f class:C
总之,您应该tags
使用-n
和-u
选项生成您的。就像是:
$ ctags -Rnu .
请参阅$ man ctags
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句