如何在vim中跳转到Javascript函数定义?

如何在vim中跳转到Javascript函数定义?,javascript,vim,plugins,Javascript,Vim,Plugins,我将vim与tagbar、JSCTag和taglist plus插件一起使用。它们似乎都工作正常,但我不能跳转到函数/变量声明。我尝试了ctrl+],但不起作用。是否可以设置vim,以便您可以跳转到函数或变量声明?无需jsctags,我的~/.ctags中有以下内容可以正确处理JavaScript: --regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/

我将vim与tagbar、JSCTag和taglist plus插件一起使用。它们似乎都工作正常,但我不能跳转到函数/变量声明。我尝试了ctrl+],但不起作用。是否可以设置vim,以便您可以跳转到函数或变量声明?

无需jsctags,我的~/.ctags中有以下内容可以正确处理JavaScript:

--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/                                                                                             
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/o,object/
--regex-JavaScript=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/f,function/
--regex-JavaScript=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\([^\]\)]*\)/\1/f,function/
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Array\(/\1/a,array/
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/a,array/
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/s,string/
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/s,string/

使用上述方法,一个简单的
ctags-R
生成适当的标记文件以匹配JavaScript函数(以及变量和对象)定义。

标记栏和标记列表不会生成Vim用于跳转到定义的实际
标记文件

如果您想跳转此功能,必须从终端手动生成此文件:

$ ctags -R .
如果您使用
ctags
或:

$ jsctags .

如果您使用
jsctags
或Vim本身。

假设您使用
var name=
定义函数和变量。。。你能不能不仅仅是
:/var\name
,但如果我能按一个快捷键找到它,就像查找函数一样,那就容易多了。我试过了,但它仍然无法跳转到函数定义。@javascriptninja,添加这些后您重新生成了标记文件?@javascriptninja检查
文件
部分中的
man ctags
,以确保您的版本可以接受
$HOME/.ctags
或其他用户配置文件。我发现它适用于某些函数,但不适用于任何变量。我检查过了,它确实将其用作配置文件。