2010-10-08 86 views
3

它是如何可能在Emacs和C++扩展的ETag覆盖多个目录? (我不是指一种通过使用-R选项具有直接的解决方案递归etgas)。的ETag如何处理多个目录

像这样的东西是必要的,例如,在我们使用的是第三方库,包括它的头,可能会在目录结构中的任何位置进行安装的情况。

我使用Emacs作为一个C++编辑器面临着类似的问题是如何直接从它的#include指令打开一个包含头文件。

由于include头文件路径是项目的一部分,所以这对于IDE(比如VC _ ++)来说是微不足道的,但是我找不到类似emacs的解决方案,因为作为一个更薄的环境,它没有使用项目的概念。 。

回答

3

回答的主要问题:使用find遍历您的目录 例如在我的标记脚本:

find . \(-name "*[tT]est*" -o -name "CVS" -o -name "*#*" -o -name "html" -o -name "*~" -o -name "*.ca*" \) -prune -o \(-iname "*.c" -o -iname "*.cpp" -o -iname "*.cxx" -o -iname "*.h" -o -iname "*.hh" \) -exec etags -a {} \; 

提示为C++和包含的头解决方法:查看是否cscope工作更好地为您。

2

您也可以查看GNU global而不是etags,以及ff-find-other-fileffap以及相关的find-file-at-point函数以跳转到您正在使用的包含文件。这两组函数都有各种自定义选项,因此您可以告诉他们在哪里搜索标题。