Vim ctags的行为异常
我正在开始Lua开发,所以我在一个简单的初学者项目上运行了CTAG,并尝试使用Ctrl+]跳过源代码。尝试此操作后,我得到了Vim ctags的行为异常,vim,lua,ctags,Vim,Lua,Ctags,我正在开始Lua开发,所以我在一个简单的初学者项目上运行了CTAG,并尝试使用Ctrl+]跳过源代码。尝试此操作后,我得到了E426:tagnotfound:cache\u objects,其中cache\u objects是另一个文件中的函数。我检查了标签文件,找到了缓存的\u对象的正确条目。我还检查了我的标签路径,它是正确的 然后我尝试显式执行tags命令::ta cache\u objects。这返回了相同的错误。现在事情就要变得奇怪了。我执行了::ta/cache\u objects,它
E426:tagnotfound:cache\u objects
,其中cache\u objects
是另一个文件中的函数。我检查了标签文件,找到了缓存的\u对象的正确条目。我还检查了我的标签路径,它是正确的
然后我尝试显式执行tags命令::ta cache\u objects
。这返回了相同的错误。现在事情就要变得奇怪了。我执行了::ta/cache\u objects
,它成功了!这让我想到了定义为:
function cache_objects (basedir)
...
我仔细检查了拼写,以确保它是正确的。这是怎么发生的?这是CTAG中的一个错误
如果您在标记文件中注意到字段是以制表符分隔的。但是,当ctags生成cache_objects标记时,它包含后面的空格。vim仅在使用
时查找完整的单词,这就是为什么它没有找到标记,但在使用正则表达式搜索时确实找到了它。如果你把线路改成
function cache_objects(basedir)
它可以工作。就是这样。Ctags开发停滞了吗?上一个版本是在2009年,svn存储库已经有一段时间没有提交了,而且队列中还有一长串错误修复。@cmtm svn存储库从2014年5月开始提交。除此之外,我认为自己修补可能是最好的。我不知道这个项目的进展情况。