Вкратце: везде говорят, что vim крутой. Я выучил vim, мне понравилось, но теперь говорят, что для нормальных проектов нужна толькоx нормальная IDE
Пожалуйста, дайте как можно более развернутый ответ, почему именно так, а не иначе
Решил неделю назад попробовать vim. Я только начал серьезно изучать программирование, но в отличие от остальных новичков меня заинтересовал именно этот редактор. И мне он понравился, за неделю я научился в нем работать на нормальном уровне, установил много плагинов, создал свой собственный удобный vimrc...
И, как на зло, до этого я встречал только лишь статьи и комментарии о том, что vim настолько прекрасен, что в нем работают как новички, так и профессионалы. Но теперь я все чаще вижу хейт в сторону уже безумно понравившегося мне редактора: говорят самое разное, но суть одна - vim исключительно для небольших проектов и несерьёзной разработки, так как он даже с учётом плагинов и своих фич не способен делать сложные вещи, как могут различные IDE... Но в то же время я не могу в интернете найти прямой критики vim за исключением того, что он не настолько интуитивно понятен, как intellJ какая-нибудь, поэтому если никто до меня не спрашивал, то я сделаю это, видимо, первый...
Так вот, почему не vim?
Edit: спасибо всем за то, что помогли и ответили на вопрос
Я не специалист по виму, поэтому у меня вопросы. Умеет ли вим:
1. Автодополнениние кода?
2. Навигацию по стеку вызова вверх и вниз?
3. Рефакторинг: переименование, выделение метода?
4. Запуск 2+ сервисов в одном окне с переключением между ними?
5. Статический анализ?
6. Интеграции с бд, гитом, докером?
fenrir, под навигацией я имею ввиду когда на метод жмякаешь и отправляешься куда-то, где он используется (а если исользуется много где - то предлагается выбор куда провалиться). Имеется такое?
Ну в общем-то я понял, что с расширениями можно из вима сделать что-то подобное ide.
Dmitry Roo, и то и то реализуется в 2 нажатия
gd - перейти к описанию
gr - перейти к использованиям
бонусом ctrl-o - перейти вверх по стеку
тык
Я уж не говорю про метки, которые можно ставить на любое место и перемещаться туда когда нужно.
Хоть на каждый файл проекта их ставить и перемещаться в те же 2 кнопки
Это не вопрос, а размазывание соплей. "Ой мне сказали то, ой мне сказали сё, а скажите ещё чего-нибудь". Ну и закономерно получаете полную панамку ответов от специалистов, которые vim в глаза не видели, но спешат поделиться своим экспертным мнением.
Это было бы вопросом, если бы было задано в форме "можно ли из вима сделать полноценную IDE?".
Ответ - можно.
Любых плагинов как грязи. Руководств масса, на том же Хабре. Пользователей - ну, не столько сколько IDE intellJ - но тоже прилично. Есть сообщества, где всегда можно спросить. Вот там и надо задавать вопросы. Причем конкретные, а не вида "ой мне пацаны сказали что круто, а теперь другие пацаны сказали что отстой". Ну правда английский может понадобиться.
но теперь говорят, что для нормальных проектов нужна толькоx нормальная IDE
Пожалуйста, дайте как можно более развернутый ответ, почему именно так, а не иначе
Бремя доказательства лежит на том, кто это заявление сделал.
В целом я видел много обратных примеров, когда в более чем серьёзном проекте некоторые разработчики осознанно пользуются вимом как основным редактором.
Применимость в большей степени зависит от самого разработчика. В целом всё то что можно делать в "настоящих" IDE, можно делать и виме, обвешанном плагинами (может иногда и с некоторой ручной работой)
не способен делать сложные вещи, как могут различные IDE...
Ты неправильные вопросы задаёшь. Если ты только начал изучать программирование и тебе "безумно нравится" редактор - то продолжай изучать и пользоваться редактором. В программировании есть много вещей, которые придётся изучать и инструмент среди них не самый важный.
Со временем ты попробуешь IDE, и не одну и примешь решение что использовать в работе. А навык работы с VIM не пропадёт... или пропадёт что будет означать что он оказался невостребованным.
Среды разработки отличаются уровнями абстракций средств, предоставляемых пользователям.
В самом простом текстовом редакторе нам доступны функции редактирования последовательности символов.
vim добавляет новые уровни абстракций, например команды и регулярные выражения. Поток символов получает структуру слов, строк, абзацев, содержимого (например в скобках) и т.п.
Текстовые редакторы в IDE добавляют уровень абстракций языка программирования. Слова становятся именами классов, функций, инструкций языка.
Голый vim не заменит IDE, а IDE не заменит vim, потому что они существуют на разных уровнях абстракций.
Можно в vim тащить функции IDE или в IDE тащить vim. Я выбрал второй путь и тащу голый vim с минимальным vimrc почти в каждую IDE. В visual studio, vs code есть vim plugin, в Idea есть свой плагин, наверное лучший из всех. В Qt Creator есть fake vim. При работе со всеми плагинами сталкивался с ограничениями функциональности самого vim, а fake vim был самым проблемным. Но если нет особых требований к работе в vim, этот путь намного проще. Поэтому лучше начинать с него, и только потом, если будет не хватать функций vim, переходить на vim с IDE плагинами.
vim редактор наворачивая его плагинами вы его превращаете в слабое подобие ide и смысл связываться команде с таким чудаком где все условно сидят в эклипсе?