Хотел бы узнать, есть ли у кого нибудь опыт использования Vim(или Vim плагинов в IDE) для Java-разработки?
Сам Vim очень привлекает нестандартным подходом к работе с текстом, в GNU/Linux пользуюсь регулярно. Однако, часто встречаю мнение, что для работы с Java-проектами нужна функциональность полноценной IDE(рефакторинг, например), которая в Vim трудно достижима.
abs0lut: опыт не печальный. Просто со временем понял, что главное точно знать ради чего делаешь дело. Ради развлечения или ради результата. Если ради результата, то нужно учитывать коммерческие ценности - время и оптимальность затрат усилий. Vim со всеми существующими плагинами никогда не догонит IDEA/Eclipse/что_там_еще_есть.
Даниил Колесниченко:
Мне сложно говорить про Eclipse - я ни дня на нем не писал. Но пишу в аналогичной IDE: Intellij IDEA. Скажу про нее.
Там несколько тысяч фич, которых нет в текстовых редакторах. Например вы пишете имя интерфейса, а IDE сама подставляет путь, где он реализован. IDE проверяет синтаксис с учетом того, что классы, аннотации и черти что еще находится в других файлах. IDE сама подключает библиотеки. Дает выбор SDK и управлением им. IDE подключается к БД и умеет запускать веб-сервер. Встроенный дебаггер, встроенный ant, maven, gradle. Встроенные шаблоны проектов. Импорт проекта из pom. Рефакторинг кода, когда в одном месте меняешь, а меняется везде. Интеграция с VCS (в том числе даже стэши). Интеграция с системами статического анализа кода. Интеграция с CI. Встроенный деплоймент.
Да у меня клавиатура сотрется, если я все буду перечислять ))))
Singaporian: если не всё, то большая часть этих фич или уже реализована в плагинах, или может быть реализована.
У меня, например: навигация по коду, умный автокомплит(т. е. когда классы черти где и вот это вот всё), системы сборки, интеграция с git/mercurial/svn, интеграция с системами статического анализа, дебаггеры. В основном, правда, не под джаву, но я не думаю, что с джавой в Vim всё хуже, чем с Python. И он-таки с всем этим не тормозит (на моём-то железе, на котором даже саблайм периодически зависает).
Плагины под некоторые описанные Вами фичи не приходило в голову искать, спасибо за наводку :)
Singaporian: много плагинов с интерфейсами к консольным дебаггерам: PDB, GDB, JDB, Xdebug и другие
На счёт систем сборки — в Python с этим как-то проще; у меня стоит только несколько сочетаний для make, которым пользуюсь не часто; но вообще есть плагин для maven, уж как там с выбором шагов не знаю, т. к. не пользуюсь.
Для IntelliJ IDEA есть плагин. Один коллега-мазохист пользуется... Ему вроде нравится. Сам не пользуюсь. не пользуюсь как раз из-за потери в случае пользования всего набора хоткеев идеи.
abs0lut: Ну тут надо определиться в терминах, прежде всего. Что есть удобство. Кому то ядро компилить - удобство. Но на практике, только инструмент повышающий нашу эффективность имеет право на жизнь. Vim шикарен, я ничего не имею против, но когда я подхожу к коллеге и прошу показать мне, в каком классе у него затык, или в каком месте кода, он копошится около минуты, в проекте из 3 тыс. классов. Я вижу что он может это сделать, но я могу это делать быстрее.
Евгений: ну не знаю как там с плагином вима к идее, но в обычном виме можно поставить tagbar, с которым поиск нужного класса даже среди 3 тыс. займёт несколько секунд.
Евгений: тут скорее у коллеги еще недостаточно опыта использования IDEA или этого плагина. Скорость должна быть сопоставимой - сложность задачи споставимая.