如何在Vim中导航多个ctags匹配?
我在Vim中使用Ctrl – ]来使用Ctags进行导航。 如果有多个匹配,我如何导航到备用文件?
防爆。 something.publish
在包含多次publish
的代码库中:
class Foo def publish end end class Bar def publish end end
:tn[ext]
转到下一个标记, :tp[revious]
上一个:tn[ext]
转到上一个标记。 :ts[elect]
给你一个可供select的列表。
:help tag-matchlist
更有趣和令人兴奋的事情来尝试!
使用g]
而不是C-]
来获得所有匹配的列表。
你可能想阅读:help g]
添加我最终寻找的答案,以帮助其他人:
如果只有一个匹配, g<C-]>
将跳转到标签,如果有多个匹配,将会显示一个列表。
我已经将这个映射添加到我的.vimrc中,使其按照默认设置进行操作:
nnoremap <C-]> g<C-]>
ltag
ltag the_tag_name lopen
用标签匹配打开一个位置窗口。
这是正则expression式标签search特别强大:
ltag /tag_na lopen
它将列出所有包含stringtag_na
标签(因此包括the_tag_name
)。
然后,您可以进一步search位置列表内,然后按Enter键跳转到标记。