为VC系统头文件生成tags
@echo offrem 用法:把些文件命名为vctag.bat,放在系统目录下,在命令行中运行vctag filenamerem 功能:本批处理是针对VC编写的。为filename的include树中的所有文件,在当前目录,生成tags文件,方便其它编辑器(如VIM)使用。rem 备注:此文件依赖于CTAGS工具和VC编译器。ctags官网http://ctags.sourceforge.net;VC方面,需要手动指定编译器环境配置文件,即下面的vcvarsall.bat文件rem 如果当前目录已经存在tags文件,则把头文件的tags附加到原有tags中,否则为filename生成tags,再附加if "%1"=="" (goto errorL)rem 配置环境变量,不一定相同,用户根据自己情况手动指定批处理文件call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86cd /d %~dp1rem del /Q /S tags 1>nul 2>nulif not exist "tags" (call ctags %1)setlocal enabledelayedexpansion for /f "tokens=3,4 delims=:" %%i in ('cl /Zs /nologo /showIncludes %1') do (set "str=%%i:%%j"rem 清除路径前面的空格for /f "tokens=1* delims= " %%i in ("!str!") do (set "str=%%i %%j")rem 如果使用start替换call,会出现多进程同步问题,所以用call call ctags --append=yes "!str!" )goto end:errorLecho Source file lose! echo Usage: vctag filename:endGVIM下的用法:
用GVIM打开你要处理的源文件,再运行:!vctag %