OracleSolaris 11.2 - ctags和vi

时间:2015-07-16 16:51:59

标签: solaris ctags opensolaris

在新安装的OracleSolaris上,我有来自base-developer-utilities包的ctags。它不支持递归,所以我生成标签如下:

% cd my_sources; rm -f tags; touch tags
% find . -name '*.c' -o -name '*.h' -exec ctags -v -u {} \;

标签已生成,但由于某些原因,vim无法理解它,即它只是没有看到任何标记,尽管我添加了set tags,而是报告错误E426: tag not found

标签文件中的标签

有人知道可能出现什么问题吗?感谢。

1 个答案:

答案 0 :(得分:1)

如果vi抱怨标签不在那里,那就是因为它可能不是。您可以通过使用文本编辑器打开标记文件并进行搜索来确认。

但之所以不存在是因为你要覆盖每个文件find遇到的标签文件的内容,所以它应该只包含最后一个文件的标签。要解决此问题,您可以添加-a参数,该参数根据其man page提供。

作为替代方法,您可以尝试从源代码编译更新的ctags,以便使用带有-R --languages=c参数的递归模式。如果您决定从源代码编译,我建议您使用universal-ctags