Keep It Simple, Stupid.

荒野无灯weblog

分享一个用于生成tags文件的脚本

在Linux下面只需要用find 命令即可生成一个包含特定后缀文件路径的文件列表文件。相比之下win下的dir命令就功能不怎么样了。
因此此脚本主要用于Win,因为Linux下有更简单的办法。

在_vimrc中添加:

" TAGS SETTINGS
set tags=./tags,tags,$HOME/tags

这样当在当前目录找不到tags文件时,就会去$HOME目录找。
这也就是我用这个脚本的目的,当做某个项目时,无论你在项目目录下面的哪个文件夹里用vim打开文件,都可以用ctags功能查找函数的定义等。因为上述脚本生成的tags.list文件中的内容都是绝对路径,这样能使ctags生成的tags文件中的路径信息也是绝对路径,在查找标记时便不会发生问题。

再配合以下脚本:
genctags.bat 内容如下( D:\software\util\gen_ctags_flist.php是gen_ctags_flist.php的全路径):

@echo off
color 08
php D:\software\util\gen_ctags_flist.php ./
::ctags -R --sort=yes --totals=yes --verbose --tag-relative=no
color 3f

ctags -R --sort=yes --totals=yes --verbose --tag-relative=no -L tags.list

copy /Y tags %UserProfile%\tags
echo .

此脚本需要在当前路径使用,也就是你要生成哪个目录及其子目录下面的文件列表就在哪里执行。

gen_ctags_flist.php内容如下:


ctags-php-win-bat.zip (163.1 KB)


依云说可以装一个find,是的,装find无疑是省事的办法了,我也装了个。
这find是gnuwin32项目中的一个包,可去这里下载:
http://gnuwin32.sourceforge.net/downlinks/findutils.php
完了之后把win到死那个c:\windows\system32\find.exe 给重命名吧。

Tagged in : VIM,ctags,tags

All Comments (0)
Gravatar image
No Comments