当 python 类定义跨越多行时 Exuberant-ctags 生成错误的标签,只有最后一行进入搜索模式:
考虑文件test.py:
class FirstSubclass(
LongLineBaseClass, AnotherLongClassName,
MoreBaseClassWithVeryLongName
):
pass
class SecondSubclass(
LongLineBaseClass, AnotherLongClassName,
MoreBaseClassWithVeryLongName
):
pass
class OneLineClass(LongLineBaseClass):
pass
和生成的tags文件ctags test.py(添加评论):
FirstSubclass test.py /^):$/;" c !PROBLEM
OneLineClass test.py /^class OneLineClass(LongLineBaseClass):$/;" c !OK
SecondSubclass test.py /^):$/;" c !PROBLEM
两者都FirstSubclass接收SecondSubclass到相同的搜索模式(ex command):/^):$即每个类定义的最后一行只有两个字符。这使得在 vim 中导航的标签无法使用。
旺盛的 ctags 版本和信息:
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Oct 7 2014, 13:52:37
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
我尝试过的:language-python kinds我使用了带和不带, 参数的 ctags,什么都没有。
有任何想法吗 ?提前致谢。
皈依舞
相关分类