Я зависим от Vim, теперь это мой де-факто способ редактирования текстовых файлов.
Учитывая, что это в основном текстовый редактор, а не IDE, есть ли у меня какие-то хитрости, чтобы упростить разработку приложений Java?
У меня есть несколько вопросов:
- Как вызвать задачу maven, не выходя из vi?
- Могу ли я получить завершение кода?
- Как подсветка синтаксиса?
Что-нибудь еще (кроме «Не делай этого!»), О котором я должен знать?
Ответы:
Несколько советов:
Радоваться, веселиться :-)
источник
Я был пользователем Vim в течение многих лет. Я начинаю обнаруживать, что время от времени запускаю Eclipse (использую плагин vi, у которого, я должен сказать, есть множество проблем). Основная причина в том, что Java-сборки занимают довольно много времени ... и они становятся все медленнее и медленнее с добавлением высококомпонентных структур сборки, таких как maven. Поэтому проверка ваших изменений, как правило, занимает довольно много времени, что, по-моему, часто приводит к накоплению множества проблем компиляции, которые я должен решить позже, а фильтрация сообщений фиксации занимает некоторое время.
Когда я получаю слишком много сообщений о проблемах компиляции, я запускаю Eclipse. Это позволяет мне вносить изменения. Он медленный, брутальный в использовании, и не так хорош для редактора, как Vim (я использую Vim почти десять лет, так что для меня это вторая натура). Я нахожу для точного редактирования - необходимость исправить конкретную ошибку, необходимость рефакторинга какой-то определенной логики или чего-то еще ... Я просто не могу быть настолько эффективным в редактировании в Eclipse, как в Vim.
Также совет:
Это делает
^wf
для имени класса очень хорошую функцию для навигации по большому проекту.Так или иначе, то есть то, что, когда мне нужно добавить много нового кода, Vim, кажется, замедляет меня просто из-за времени, потраченного на поиски проблем компиляции и тому подобного. Когда мне нужно найти и отредактировать конкретные источники, Eclipse чувствует себя как кувалда. Я все еще жду волшебную IDE для Vim. Было три основных попытки, о которых я знаю. Есть чистый плагин типа IDE viml, который добавляет множество функций, но кажется невозможным для использования. Есть эклим, с которым у меня было много проблем. И есть плагин для Eclipse, который фактически встраивает Vim. Последний вариант кажется наиболее многообещающим для реальной серьезной работы Java EE, но, похоже, он работает не очень хорошо или действительно не интегрирует все функции Eclipse со встроенным Vim.
Такие вещи, как добавление отсутствующего импорта нажатием клавиши, неправильный код с ошибками ввода и т. Д., Кажутся неоценимыми из вашей среды IDE при работе над большим проектом Java.
источник
.java
не требуется) под курсором в новом разделенном окне, если он может найти файл. Вот почему:set path=**
полезно.:help ^wf
- так же, как другие vim helpКак вызвать задачу maven, не выходя из vi?
Maven ничем не отличается от любой другой команды оболочки:
:!mvn
Вы можете,
:set makeprg=mvn
если у вас уже есть любимое сопоставление клавиш для:make
.Могу ли я получить завершение кода?
Да, eclim - это здорово, это мост между эффективностью редактирования в vim и пониманием языка Eclipse в Java.
<C-n>
и<C-p>
не такие уж и хорошие, но удивительно полезные.Как подсветка синтаксиса?
Более чем достаточно для маркера на основе регулярных выражений.
Возможно, вы захотите рассмотреть инструменты для других целей vim + java, таких как шаблоны кода ( snippetEmu - фрагменты по умолчанию отстой, но настраиваемость блестит), поиск использования и переход к объявлениям (eclim, grep, ctags), генерация методов получения и установки ( java_getset , или eclim), автоматический импорт (eclim). Вам также может понадобиться Java-оболочка для быстрых экспериментов ( BeanShell , он же
bsh
).источник
Я только что загрузил этот плагин Vim для разработки проектов Java Maven.
И не забудьте установить подсветку, если вы еще этого не сделали:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
источник
Я нашел следующее резюме очень полезным: http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618 . Описание: make был для ant не maven, но в остальном хорошее резюме.
источник
Я знаю, что это довольно много лет спустя, но вот несколько интересных плагинов. Я еще не пробовал ни одного из них, поэтому YMMV.
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
РЕДАКТИРОВАТЬ: О, кстати, я пробовал eclim время от времени, но причина, по которой я люблю vim, это его легкость. Выполнение затмения даже в безголовом режиме - это слишком много для меня.
РЕДАКТИРОВАТЬ 2: Я недавно использовал playframework, и это, вероятно, будет работать и со сборками maven:
Для компиляции вы можете сконфигурировать VIM make для запуска maven или, в моем случае, запустить скрипт сборки, то есть передать в файл.
"play_compile" - это просто скрипт компиляции. Он использует SBT, поэтому Maven должен отлично работать здесь. Даже прямой javac будет работать. Таким образом, вы можете использовать буфер быстрого исправления VIM (: cnext,: clist: cprev и т. Д.).
Для прыжков по классам я использую ctrl-p . Это прекрасно. Используй это. Быстрее, чем затмение в прыжках вокруг файлов.
Для прыжков по методам я использую tagsearch с обильными c-тегами. Перейдите в объявления методов с помощью ctrl-]. Вернитесь, используя Ctrl-o. Не работает так же хорошо, как затмение, но работает достаточно хорошо.
Я использую supertab для завершения кода. Javacomplete довольно медленный, поэтому я придерживаюсь omni-complete. Опять же, не так точно, как затмение, но оно быстрое и работает достаточно хорошо для меня.
источник
Используйте Vim. ^ - ^ (если быть точным, gVim)
Вы будете иметь все это (с некоторыми плагинами).
Кстати, snippetsEmu - хороший инструмент для кодирования с полезными фрагментами (как в TextMate). Вы можете использовать (или модифицировать) готовый пакет или сделать свой собственный.
источник