Cygwin下的ctags
今天,在Cygwin 下试图用ctags 为项目的代码建立tags 给vim 用。
输入习惯的ctags -R 之后,却发现这样的错误
$ ctags -R
ctags: no input files specified.
Try `ctags --help' for a complete list of options.
|
又尝试了一下ctags –recurse却得到这样的结果:
$ ctags --recurse
ctags: unrecognized option `--recurse'
Try `ctags --help' for a complete list of options.
|
看了一下ctags 的版本:
$ ctags --version
ctags (standalone 21.4.22)
Copyright (C) 2007 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README
|
翻开ctags –help,察看-R 选项的解释:
-R, --no-regex
Don't create tags from regexps for the following files.
|
这根本就不是以前一直使用的ctags 嘛…
上网搜了一下,原来Cygwin 中的ctags 包和xemacs-tags 包同时安装的话,在命令连接上会产生冲突,敲入ctags 直接给连到xemacs-tags 包提供的ctags 上去了。
输入cygcheck -c ctags xemacs-tags cygwin 后得到这样的显示:
$ cygcheck -c cygwin ctags xemacs-tags
Cygwin Package Information
Package Version Status
ctags 5.8-1 OK
cygwin 1.7.1-1 OK
xemacs-tags 21.4.22-1 OK
|
从版本号上可以看出,ctags –version 显示的版本和xemacs-tags 的版本相同。
解决办法就是,启动Cygwin 的setup.exe,将xemacs-tags Uninstall。同时为了保险起见,对ctags 进行Reinstall。
(这里要对Cygwin 的setup.exe 发点牢骚了。输入包关键词时动态检索是不错,但是前提是包检索速度很快的情况下才有意义。Cygwin 的包检索速度之慢是有名的,第一次接触的人都可能以为程序挂了。白白浪费了不少时间,用户体验很低下。)
安装完了之后,输入ctags –version,这次终于找回我要的ctags 了。