Как перейти к определению функции Javascript в vim? - PullRequest
8 голосов
/ 14 марта 2012

Я использую vim с плагинами tagbar, jsctags и taglist-plus.Кажется, все они работают правильно, но я не могу перейти к объявлению функции / переменной.Я попытался Ctrl +], но это не работает.Можно ли настроить vim так, чтобы вы могли перейти к объявлению функции или переменной?

Ответы [ 2 ]

6 голосов
/ 14 марта 2012

Без необходимости использования 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 (переменная и объект) определения.

3 голосов
/ 15 марта 2012

TagBar и TagList не генерируют фактический файл tags, используемый Vim для перехода к определениям.

Если вы хотите, чтобы эта способность прыгнула, вы должны сгенерировать этот файл вручную из терминала:

$ ctags -R .

если вы используете ctags или:

$ jsctags .

если вы используете jsctags или от самого Vim.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...