微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 如何使用shell magic使用GNU etags创建递归etags?

标准GNU etags不支持目录的递归遍历,如繁琐的ctags -R所做.如果我只能访问GNU etags,我如何使用bash shell magic来获取etags为当前目录中的所有C文件* .cpp和* .h文件以及当前目录下的所有目录生成TAGS表在当前目录中创建一个TAGS表,该表具有emacs的正确路径名以解析TAGS表条目.

解决方法:

Emacs Wiki通常是解决常见问题或最佳实践的良好来源.对于您的特定问题,Windows和Unixen都有一个解决方案:

http://www.emacswiki.org/emacs/RecursiveTags#toc2

基本上,您运行一个命令来查找所有.cpp和所有.h文件(如果您使用不同的文件结尾,例如更改文件选择器,例如.C),并将结果传递给etags.由于Windows似乎没有xargs,因此您需要一个可以从stdin读取的更新版本的etags(请注意该行末尾的短划线表示stdin).当然,如果你使用最新版本的etags,你也可以使用dash参数而不是xargs.

视窗:

cd c:\source-root
dir /b /s *.cpp *.h *.hpp | etags --your_options -

Unix的:

cd /path/to/source-root
find . -name "*.cpp" -print -or -name "*.h" -print | xargs etags --append

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐