Vim omnicompletion для Java
Я читал кучи блогов на Vim, предположительно, отличную omnicompletion, и все же независимо от того, что я делаю, я не могу заставить его работать удовлетворительно. Мне потребовалось возраст, чтобы понять, что версия ctags, которая была предварительно установлена в моей системе, была emacs, и не имела опции -recurse, но теперь, когда я запускал ctags-exuberant на моей копии OpenJDK чтобы попытаться получить какое-то завершение кода, Vim зависает всякий раз, когда я пытаюсь вызвать его с помощью [Cn] или [Cp].
Все, что я действительно хочу, это то, что работает как завершение кода в Eclipse; Мне нравится Vim в качестве редактора, но Eclipse имеет только те дополнительные функции, которые Vim, похоже, терпит неудачу. Eclipse с плагином vi-mode не был особенно полезен для меня, и это слишком большая часть памяти и процессора, чтобы быть полезной; eclim тоже не совсем мне нравится.
Может ли кто-нибудь предложить более простой способ получить какое-то завершение кода, работающее в Vim, которое действительно работает?
Ответы
Ответ 1
Вот функция JDE для vim: http://www.vim.org/scripts/script.php?script_id=1213 Одна из перечисленных функций - "Кодовое завершение (работа для java и jsp, taglib, html, xml, xsl, xsd) (требуется VIM 7.0)"
И вот автозаполнение Java script: http://vim.sourceforge.net/scripts/script.php?script_id=1785
Это не Java, но я нашел его вполне понятным и понятным; возможно, стоит прочитать. Вот рецепт настройки автозаполнения для Drupal. Пользовательский AWK script создает словарь автозаполнения для vim. http://www.thingy-ma-jig.co.uk/blog/18-08-2009/drupal-autocomplete-vim
Удачи.
Ответ 2
Я пошел с eclim:
http://eclim.sourceforge.net/
Некоторое время назад он в основном запускал eclipse в фоновом режиме, а затем предоставляет плагин vim, который позволяет вам получить все функциональные возможности eclipse внутри vim. Таким образом, вы можете делать рефакторинг, завершение и т.д. Кажется, что это работает очень хорошо, если вы не против запуска огромного процесса затмения в фоновом режиме в вашей системе.
У меня есть завершение, хорошо работающее на С++ (лучше, чем Vis stud), но никогда не везло с java. В эти дни я обычно использую eclipse большую часть времени, но у меня есть gvim --remote, настроенный как внешняя команда в eclipse, так что я могу просто протирать текущий буфер в vim в любое время, когда захочу.
Ответ 3
Было одно и то же желание, оно было выполнено с помощью eclim. Работает очень хорошо.
Ответ 4
Я искал это, так как я рассматриваю возможность перехода от затмения к vim. Лучшее решение, которое я нашел до сих пор, это заставить vim затмить с помощью vrapper (http://vrapper.sourceforge.net/). Он привносит множество функций vim в редактор eclipse, и вы все еще можете использовать автозаполнение и все другие функции Eclipse.
Мне все еще интересно двигаться полностью, но, похоже, сложно затмить eclipse для среды разработки java. (просто ненавидите накладные расходы для eclipse!)