如何在vim中跳转到Javascript函数定义?
我将vim与tagbar、JSCTag和taglist plus插件一起使用。它们似乎都工作正常,但我不能跳转到函数/变量声明。我尝试了ctrl+],但不起作用。是否可以设置vim,以便您可以跳转到函数或变量声明?无需jsctags,我的~/.ctags中有以下内容可以正确处理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/
--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
或其他用户配置文件。我发现它适用于某些函数,但不适用于任何变量。我检查过了,它确实将其用作配置文件。