7

我知道 Vim 对标签有复杂的支持,但我正在努力让它们与 JavaScript 和 TCL 一起工作。

我在 Ubuntu Lucid 下使用 Vim 7.2.330,一个标准的 Vim 安装和标准的 Exuberant CTags 安装。

我希望将我的标签保存在一个名为~/.vimtags/tags

我已将标签文件包含在我的 vimrc 文件中set tags+=$HOME."/vimtags/tags"

我已经从基本代码目录运行了以下命令:

ctags-exuberant -f ~/.vimtags/tags -h ".js" --totals=yes --tag-relative=yes --fields=+akst -R

我的.ctags文件中还有以下内容 - 我在网上某处看到一篇文章说您应该添加这些以使其与现代 JavaScript 兼容。

--langdef=js
--langmap=js:.js
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/
--regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/
--regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\(([^)])\)/\1/,function/
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/
--regex-js=/([^= ]+)[ \t]*=[ \t]*[^"]'[^']*/\1/,string/
--regex-js=/([^= ]+)[ \t]*=[ \t]*[^']"[^"]*/\1/,string/

当我加载 Vim 时,标签文件肯定会被加载。Aset tags?表示已包含标记文件。

但是,每当我CTRL-]超过一个关键字时,它总是说没有标签。

请您分享您如何使用 JavaScript 设置 Vim 标签,并展示您如何使用标签系统?这似乎是 Vim 的一个很棒的特性,如果我能让它工作就好了。

4

2 回答 2

3

但是,每当我在关键字上按 CTRL-] 时,它总是说没有标签。

标签不应该适用于关键字,它们适用于您在索引文件中定义的符号(函数、变量、常量等)。因此,如果您尝试使用 Javascript 关键字,它将无法正常工作。如果您没有将 JS 库包含到标记文件中(例如使用 ctags -a),它也不适用于库中的函数。

如果您想确定已编入索引的内容以及您可以访问的内容<C-]>,您只需打开“标签”文件,然后查看其中的内容。

:e ~/.vimtags/tags

您应该会看到包含与标签文件格式相关的信息的标题,然后是标签列表,其中包括标签名称,后跟文件路径、行号和标识标签类型的字符。

如果它有一些内容,它应该适用于列出的符号。

关于您的 ctag 设置,我认为它看起来不错。

于 2011-01-20T14:07:25.037 回答
3

使用 Mozilla 的DoctorJS(以前称为jsctags),有一种非常简洁的方法可以在 Vim 中获取 JavaScript 源代码浏览/标签列表。

有关更多信息,请参阅我对这个问题的回答

享受。:)

于 2011-05-05T06:42:31.603 回答