vim javascript omnicomplete - PullRequest
       2

vim javascript omnicomplete

18 голосов
/ 01 ноября 2010

Я пытаюсь заставить vim предоставить какую-либо форму jQuery Omnicomplete.Я использовал ctags для генерации тегов на основе файла jquery js.После чего я включил omnicompletion для javascript, используя

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

, после чего я устанавливаю переменную tags для файла тега, который я создал

set tags+=~/.vim/tags/jquery

Когда я открываю файл js и использую:ta Я могу найти нужную функцию, но когда я пытаюсь использовать omnicompletion, она просто не включается.Например, я взял этот код из сети для тестирования:

$("input").has(".email").addClass("email_icon");    

В VIM, после ввода $("input")., я нажимаю вкладку (с настройкой супертаба), и has не появляется, дажехотя я могу найти его с помощью нечеткого поиска или :ta

Какие-либо предложения относительно того, что я могу сделать, чтобы решить эту проблему?Спасибо!)

Ответы [ 3 ]

7 голосов
/ 05 мая 2011

Используйте Mozilla DoctorJS (ранее jsctags ), который также используется в Cloud9 IDE Ace online editor .

См. Мои ответы для этого вопроса и этого вопроса для получения дополнительной информации (установка, настройка и т. Д.).

5 голосов
/ 06 апреля 2011

Другой способ получить автозаполнение javascript - использовать проект jzctags в mozilla.Он генерирует лучшие теги для javascript, чем «exuberant ctags».Надеюсь, вы увидите больше, когда будете использовать supertab & taglist-plus.

Для получения дополнительной информации: http://www.discontinuously.com/2011/03/vim-support-javascript-taglist-plus/

5 голосов
/ 01 декабря 2010

javascriptcomplete#CompleteJS не использует файл ctags для завершения.

Что вы можете сделать, так это написать собственную всенаправленную функцию для jQuery или, что еще лучше, развернуть javascriptcomplete#CompleteJSфункция, определенная в /usr/share/vim/vim72/autoload/javascriptcomplete.vim для удовлетворения ваших потребностей.

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