在固定目錄下, 如$HOME下爲/usr/include/下的文件創建TAGS.include, 用文件的絕對路徑, 不用相對路徑, 然後在項目文件夾下用--etags-include將其包含進來:
$: etags -R /usr/include -o TAGS.include
$: etags -R /directory/for/coreutils/and/gnulibs/ -o TAGS.gnu
$: cd ${DIRECTORY_FOR_PROJECT}
$: etags -a --etags-include=$HOME/TAGS.include --etags-include=$HOME/TAGS.gnu -o TAGS.prog
emacs: M-x visit-tags-table RET TAGS.prog RET
但是etags在全面性方面还是不如cscope那么逆天, 所以配合好cscope还是很有必要的:
$: cd /directory/for/my/project
$: find /directory/for/coreutils/and/gnulibs/ /directory/for/my/project/ -iname "*.[chs]" -type f -print > cscope.files
$: cscope -bq
最好是cscope配合etags来使用, 可以查看比如__time_t这样定义:
$: cd $HOME
$: etags -R -f TAGS.std_gnu /usr/include/ /data/c_data/expert_in_c
$: emacs 2>/dev/null &
emacs: M-x visit-tags-table RET ~/TAGS.std_gnu RET