我知道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时,标签文件肯定会被加载。 set tags?
表示已包含标记文件。
但是,每当我CTRL-]
超过关键字时,它总是说没有标记。
请问你能分享一下如何使用JavaScript设置Vim标签,还会展示你如何使用标签系统?它似乎是Vim的一个很棒的功能,只要我能让它发挥作用。
答案 0 :(得分:3)
但是,每当我按CTRL-]关键字时,它总是说没有标签。
标签不适用于关键字,它们处理您在索引文件中定义的符号(函数,变量,常量等)。因此,如果您尝试使用Javascript关键字,它将无法正常工作。如果你没有将JS库包含在你的标记文件中(例如使用ctags -a),它也不适用于库中的函数。
如果您想确定已编入索引的内容以及<C-]>
可以访问的内容,只需打开“标记”文件,然后查看其中的内容。
:e ~/.vimtags/tags
您应该看到一个标题,其中包含与标记文件格式相关的信息,后跟标记列表,其中包括标记名称后跟文件路径,行号和标识标记类型的字符。
如果它有一些内容,它应该适用于列出的符号。
关于你的ctag设置,我认为看起来很好。
答案 1 :(得分:3)
使用Mozilla的 DoctorJS (以前称为 jsctags ),有一种非常简单的方法可以在Vim中获取JavaScript源代码浏览/标记列表。< / p>
See my answer for this question for more info
享受。 :)