Ответ 1
Используйте Mozilla DoctorJS (ранее jsctags), который также используется в Cloud9 IDE Ace онлайн-редактор.
См. мои ответы для этого вопроса и этот вопрос для получения дополнительной информации (установка, настройка и т.д.).).
Я пытаюсь заставить vim предоставить некоторую форму jQuery Omnicomplete. Я использовал ctags для генерации тегов, основанных на файле jquery js. После этого я включил omnicompletion для javascript, используя
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
после чего я установил переменную тегов в файл тега, который я создал
set tags+=~/.vim/tags/jquery
Когда я открываю js файл и использую :ta
, я могу найти нужную функцию, но когда я пытаюсь использовать omnicompletion, она просто не появляется. Например, я взял этот код из сети, чтобы проверить:
$("input").has(".email").addClass("email_icon");
В VIM после ввода $("input").
я нажимаю вкладку (с настройкой supertab), а has
не появляется, хотя я могу найти его через нечеткий поиск или :ta
Любые предложения относительно того, что я могу сделать, чтобы решить эту проблему? Спасибо!)
Используйте Mozilla DoctorJS (ранее jsctags), который также используется в Cloud9 IDE Ace онлайн-редактор.
См. мои ответы для этого вопроса и этот вопрос для получения дополнительной информации (установка, настройка и т.д.).).
javascriptcomplete#CompleteJS
не использует файл ctags
для завершения.
Что вы можете сделать, вы можете написать свою собственную функцию omni-complete для jQuery или, что еще лучше, развернуть функцию javascriptcomplete#CompleteJS
, определенную в /usr/share/vim/vim72/autoload/javascriptcomplete.vim
, в соответствии с вашими потребностями.
Еще один способ получить javascript autocompletion - использовать проект mozilla jsctags. Он генерирует лучшие теги для javascript, чем "exuberant ctags". Надеюсь, вы увидите больше, когда будете использовать supertab и taglist-plus.
Для получения дополнительной информации: http://www.discontinuously.com/2011/03/vim-support-javascript-taglist-plus/