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!)