Немного о VIM и IDE

    Один, не сомневаюсь, хороший человек и vim-ер со стажем опубликовал сегодня статью о том, что режимы — киллер-фича vim. Позволю себе не согласиться и поработать капитаном Очевидность.

    Vim — не IDE


    Он не перегружен ненужным функционалом. Серьезно, IDE-люди, сколько процентов функционала своей IDE Вы используете? 25-30%? Фича VIM — здесь в тотальной конфигурации, при чём не только в общем смысле, но и отдельно для каждого языка\проекта. Вы можете загружать одни плагины для c, другие для js, третьи для go. Можете на одном проекте использовать отступы в четыре пробела, а на другом в восемь. Используя разные конфигурации VIM для каждого языка\проекта. Как верно заметили в комментариях к предыдущей статье — в vim это не закладывалось, но так получилось.

    IDE — тоже не vim, даже с плагином


    Да, в Вашу IDE более тесно интегрирована поддержка языка и больше удобных фич для рефакторинга кода и потягивания смузи. Это хорошо, удобно и работает, пока кто-то озаботился написать IDE для Вашего языка, ну или хотя бы плагин для поддержки языка, на котором Вы пишите. Но представьте, Вы, к примеру, в основном пишите на C++, и возникла необходимость посмотреть JAVA-код. Будете ставить отдельную IDE или плагин? В случае с vim Вы просто откроете код и «из коробки» получите минимальную поддержку языка (подсветка, сворачивание блоков и т.д.)

    IDE — хороший выбор, когда Вы окопались на 2-3 языках и никуда с них не уходите.
    В комментариях к той статье было не раз высказано предложение использовать vim-плагин. Хорошая идея, если решили перебраться с IDE на vim, а вот в обратную сторону работает плохо — Вы знаете хоткеи и комбинации Vim, конфиг vim «вылизан» годами работы, и тут оказывается, что Ваш конфиг работает максимум на половину, что приходиться учить новые комбинации, которые, как правило, не удобны, делать «распальцовки» на клавиатуре и время от времени всё таки тянуть руку к мышке.

    Немного о мышке, клавиатуре и VIM


    Ваш конфиг «вылизан» и приглажен, совершаете все нужные операции даже не задумываясь о них, пальцы делают всё сами — именно так работает vim-ер со стажем. Серьезно, когда мне надо, к примеру, сдвинуть блок кода на 2-3 отступа в право — мои руки делают это сами, когда меня спрашивают как это сделать в vim — я «зависаю» на несколько секунд пытаясь вспомнить. С IDE, лично у меня, так не получилось — приходилось отвлекаться на мышку, вспоминать в каком меню находиться нужный пункт, добираться до него.

    В vim все операции осуществляются с клавиатуры, и это чертовски удобно. Комбинация vim+tmux+i3 и мышка 99% времени валяется в стороне, но это тема для отдельной статьи. В чем удобство отказа от мышки? Начиная от банально отсутствия движения руки между мышкой и клавиатурой, заканчивая тем, что это действительно быстрее. Набрать комбинацю 2dw для удаления двух слов быстрее, чем выделить их мышкой и нажать Backspace\Delete.

    Режимы


    Режимы — не киллер фича vim, они удобны, хороши, но, по большому счету это всего лишь один из двух путей как сделать так, что бы редактор обладал богатым функционалом и полностью управлялся с клавиатуры. Второй путь — это путь emacs.

    Распространенность


    Знать vim — надо, хотя бы потому, что vim или его предок vi есть почти на любой *nix машине.
    Иногда vim — единственный способ поправить конфиги на удаленной машине.

    Вместо заключения


    Vim — хороший и удобный инструмент, но требует предварительной настройки.
    IDE — позволяет работать с ней, в большинстве случаев из коробки.
    Vim — Мощный и многофункциональный инструмент.
    IDE — Мощный, но узкоспециализированный инструмент
    Vim — поддерживает больше языков, чем Вы способны вспомнить
    IDE — поддерживает 1-3 языка, но делает это лучше VIM

    Если Вы всё ещё хотите холиварить на тему Vim VS IDE, то не забывайте — это инструменты. Ваять доброе и вечное можно хоть с помощью awk, вопрос что использовать — дело лишь удобства и привычки.
    А вы используете VIM

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 77
    • +17
      На Хабре новый тренд — делать сериалы из статей. Только завершилась мыльная опера про необразованную молодёжь и малосерийный триллер про хирурга-тимлида, как появился новый — про VIM. Лично я спродюссировал бы пару серий о VIM, потому что нежно его люблю, правда, уже год ввиду смены профессии не использую.
      • +6
        На хирурга сменили?)
        • 0
          Ну нет уж, староват я на такие перемены. Видеопродакшеном балуюсь понемногу.
          • +7
            Что, в vim нет режима для монтажа видео? Ну вооот…
            [ИронияНаГраниСарказма мод офф]
      • +3

        Если говорить про vim — то это уже эм сколько там лет хабру, 11? Тогда это 11 сезон сериала про vim.

        • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Новый тренд: сериал статей ни о чём
        • +9
          Серьезно, когда мне надо, к примеру, сдвинуть блок кода на 2-3 отступа в право — мои руки делают это сами, когда меня спрашивают как это сделать в vim — я «зависаю» на несколько секунд пытаясь вспомнить. С IDE, лично у меня, так не получилось — приходилось отвлекаться на мышку, вспоминать в каком меню находиться нужный пункт, добираться до него.

          В IDE нужно выделить этот блок кода и нажать таб. Или Shift+Tab в обратную сторону. Максимально просто и не надо подвисать на несколько секунд. И уж тем облее не надо вспоминать пункт меню.

          • –2
            Был не прав, привел в пример не ту операцию. Хотел продемонстрировать механику работы, но так уж водится, что всегда найдется тот, кто воспримет это как показательный пример.
            :set sarcasm
            В следующий раз специально приведу не тривиальную операцию, в пример, а что ни будь ярко-индивидуальное, трудно настраиваемое, работающее только у полутора анонимусов из-за специфичности.
            :set sarcasm 0
            • +3
              В следующий раз обязательно приведите такие нетривиальные операции, как рефакторинг сотни файлов, изменение сигнатуры метода во всех местах, где он используется, вынесение части кода в отдельный метод\класс. Ну в общем такие типичные операции с кодом.
              • –2
                Рефикторинг сотни файлов делается с помощью макросов. Во всяком случае, нечто тривиальное вроде смены сигнатур — это вообще можно сделать в автоматическом режиме, для начала протестировав созданный макрос на паре файлов. Если задачи сложнее, то да, «личное присутствие» будет необходимо, но что-то мне подсказывает, что и в IDE нет отдельной кнопки «сделать рефикторинг всего проекта».
                • –1

                  Такая «кнопка» даже в Vim может быть: к примеру, дополнение pymode предоставляет интерфейс к rope, каковая является библиотекой для рефакторинга Python проектов (правда, в документации я увидел только переименование модуля). Но Python — это язык с динамической типизацией, много вы тут в автоматическом режиме не нарефакторите. Java и C++ — другое дело, тут рефакторинг автоматизировать гораздо легче (если не злоупотреблять макросами в C++).


                  Правда, во что я не поверю, так это в то, что IDE способны ещё и комментарии отрефакторить. Особенно если это не комментарии‐документация (где могут и часто должны возникать явные и типизированные ссылки на конкретные сущности вроде классов и методов), а просто комментарии к коду.


                  И ещё я не поверю в то, что есть вменяемый автоматизированный рефакторинг динамически типизированных языков, в т.ч. проектов, где часть кода на C++, а часть на каком‐нибудь luajit с его ffi.


                  В общем, старый добрый grep (точнее, его альтернативы) мне кажется хоть и менее удобным, но одновременно более надёжным и более универсальным.

                  • +1
                    >И ещё я не поверю в то, что есть вменяемый автоматизированный рефакторинг динамически типизированных языков

                    для php есть
                    • +1
                      Idea, если ей указать, может не только в комментах что-то переименовать, но, и, например, в строковых константах или конфигах (при этом обычно понимая семантику конфиг-файлов). При этом прежде чем изменения применятся, можно удобно посмотреть что подлежит переименованию и оставить только то, что нужно.
                  • 0

                    А мне в идее жутко бесит, что нету дополнения слов, когда пишу коментарии или просто строку с названием атрибута. А в емаксе дополняет прекрасно

                  • +1
                    С IDE, лично у меня, так не получилось — приходилось отвлекаться на мышку, вспоминать в каком меню находиться нужный пункт, добираться до него

                    Ну тогда наверное для вас будет открытием, что большинство опытных пользователей современных редакторов и IDE все «стандартные» манипуляции с текстом делают с клавиатуры, а не мышкой.
                    • –1

                      А теперь представьте обратную ситуацию: опытный пользователь IDE, залез в vim (по уважительной причине, а как же!), собрался сделать то, что привык делать за пару тыков в клавиши, понимает, что не знает, как это сделать, и… Э-ээ… Ну… Меню? Мышка? Я вас умоляю, придётся идти в Яндекс и там гуглить мануал, или в маны вникать, куча телодвижений.
                      То есть то, в чём Вы увидели минус — это таки возможность найти редко используемое действие через удобный, хорошо структурированный и неглубокий классификатор, заодно и шорткат подсмотреть. Минус? Не думаю.

                      • 0
                        В таком случае vim'ом называется чисто текстовый вариант. А ему нужен gvim, в котором есть меню для заметной части этих действий.
                        • –1

                          Только наличие меню в gvim не отменяет того факта, что в конце концов быстро делаются привычные действия, а медленно — непривычные. Поэтому скорость работы, очевидно, очень субъективный аргумент.


                          Я вот в Идее многие вещи делаю медленнее, чем в редактрое семёрки Delphi, но точно не считаю Идею хуже. Хотя для постоянной работы над проектом на Delphi 7 она, увы, не подходит. Или я таки просто не умею её готовить?

                          • 0

                            я пользуюсь почти постоянно gvim, глаза меньше болят…
                            но меню у меня отключено, оно лишнее...

                    • +2
                      Комбинация vim+tmux+i3 и мышка 99% не нужна

                      Очень верное замечание!

                      • +9
                        Серьезно, IDE-люди, сколько процентов функционала своей IDE Вы используете? 25-30%?

                        Что за аргумент такой? Одной самой нужной из других возможностей достаточно чтобы что-то использовать. Сколько вы изпользуете процентов возможностей своей жизни? 30-50%?
                        • –4
                          А кто сказал, что это аргумент? Это вопрос был, риторический. Как можно было заметить я не призываю ни кого переходить на vim, и не агитирую за IDE
                          • 0

                            Проблема в том, что каждый программист использует свои 25-30%.

                          • +2
                            Про 1-3 языка, поддерживаемых IDE, пользователям VS Code было обидно.
                            • –1
                              VS Code у нас стал IDE?
                              Visual Studio Code — кроссплатформенный редактор исходного кода, поддерживающий базовые возможности интегрированной среды разработки, созданный в Microsoft
                              • +4
                                Тот же фронтенд на нём пилить — очень ок. Ну и несложные бэкенд приложения — тоже. Я с Visual Studio переключился на Code, как более удобный при работе с angular2+. Да и с развитием всяких cli — VS Code становиться весьма мощным инструментом разработки.
                                • +3
                                  Даже пользователи обычной Visual Studio немного обиделись, которая штук семь языков поддерживает «из коробки» и ещё немало с помощью сторонних плагинов.
                                  Это не говоря уже, например, про пользователей Eclipse :)
                                  Вообще, неправильно говорить, что IDE — узкоспециализированный инструмент. Наоборот, функционал тяжелых IDE способен заменить не только vim, но вообще весь инструментарий разработчика на вашем компьютере. Собственно разработка, отладка, визуальное проектирование, работа с данными, средства моделирования и документирования, профилирование, контроль версий, командная работа — всё это можно встретить в одной IDE. Куда уже шире.
                                  • 0
                                    Даже пользователи обычной Visual Studio немного обиделись, которая штук семь языков поддерживает «из коробки» и ещё немало с помощью сторонних плагинов.

                                    В vim из коробки 500+ файлов синтаксиса =) Мне их столько не надо, но на какой язык\синтаксис бы меня не забросила работа — всё или уже есть, или легко скачать и доставить — C, C++, Bash, Python, Perl, PHP, Javascript, HTML, XML, Yaml, ini-файлы, error-файлы — это я пробовал сам.

                                    • +2

                                      Кстати, самое интересное: в Vim есть подсветка intel hex файлов. А в Atmel и CCS studio (последнее что‐то на основе какой‐то другой IDE, кажется, eclipse) и вроде каких‐то ещё IDE для микроконтроллеров нет.

                                • +1
                                  нужно чёткое разделение где ещё текстовый редактор а где уже ide, тот-же vs code и дебажить например может, и в рефакторинг умеет и с т гитом работать, чём же он не ide?
                              • +3
                                Наверное я не знаю всех фитчь моих IDE… (сарказм) но из тех что знаю пользуюсь 80%…
                                разные конфиги для языков… прекрасно работает в IDE
                                минимальная поддержка синтаксиса для экзотики настраиваеться в 2 клика мышкой…
                                мультиязычные проэкты прекрасно подерживаються…
                                я пользуюсь в основном eclipse и VSCode…

                                работа без мышки… абсолютное дело вкуса… и привычки…

                                немного умею работать в VIM… и согласен с предыдушей статьей про режимы… именно из них вытекают все особенности VIMa

                                а в IDE для меня киллер фитча это дебагирование… задал конфигурацию, нажал кнопку мыши и все сразу на экране…
                                и код и переменные и логи… и терминал если надо…
                                и если забыл скомпилировать то все за тебя сделали…
                                и если забыл за аплоадить то тоже
                                и все из коробки…

                                • 0
                                  Прокаченный VIM позволит сначала получать удовольствие от написания теста (да, нравится сам процесс), а потом написание текста станет неким автоматическим действием как, даже не знаю, есть из тарелки столовыми приборами… ты просто не задумываешься ни то что для набора можно пользоваться чем-то другим, даже не думаешь о наборе текста, все проиходит само каким-то естественным образом. Модальные режимы, motions, навигация, буферы/окна, закладки — все этому помогает. А проникнувшись этим дзеном графическая среда становится нужна только для браузера и офисного пакета

                                  Plugin в IDE поверхностно спасает, но есть ли плагин к вашей IDE такой, чтобы скриптовать расширеия? И в полном ли объеме поддерживается фунционал vim?
                                  • +4
                                    Почему vim упорно сравнивается c ide? Он разве умеет отладку по шагам, сборку пакетов, рефакторинг, диаграммы классов и т.п.? Вы его ещё с автокадом сравните.
                                    • 0
                                      Умеет, просто настроить его надо.
                                      • +1

                                        Легко))) пару дней и набросаем команду ".*" для создания кубиков и треугольников в 3D)))
                                        Шутка)) полностью поддерживаю

                                        • 0
                                          А разве IDE умеет? Он вызывает дебаггер, пакетный менеджер и т.п. И это чаще внешние утилиты, чем встроенные.
                                          vim тоже всё умеет, если плагины подключить.
                                        • +1
                                          Все в vim хорошо, только мизинец левой руки почему-то стал толще, чем правый. И вообще, почему-то дергается время от времени.
                                          • +2
                                            VIM конечно же отличный редактор текста, тут не поспоришь.
                                            Но! Я 95% времени читаю код и для меня киллер-фича это навигация по коду, все остальное не так уж и важно.
                                            • 0

                                              Шутка в том, что IDE (и большинство редакторов) вы открываете и 95% времени проводите в режиме ввода текста (если вы нажмёте на клавишу, то в текст добавится новый символ). Vim сразу открывается в режиме навигации, и он в нём силён.

                                              • +1
                                                Не так силен как IDE.
                                                • +1
                                                  Шутка в том, что IDE (и большинство редакторов) вы открываете и 95% времени проводите в режиме ввода текста

                                                  Штука в том, что в IDE нет режимов.

                                                  Vim сразу открывается в режиме навигации, и он в нём силён.

                                                  Насколько я знаю в Vim нет режима «навигации». Есть командный режим, режим ввода и выделения (поправьте меня если я неправ или упустил что-то).
                                                  А вот навигация в Vim добавляется использованием плагинов, причем вы используете командный режим для навигации, а он в свою очередь был добавлен не для навигации по коду, а для удобной манипуляции с текстом.
                                              • +10
                                                image
                                                • 0
                                                  В далеком 2010 влюбился в Geany и чаще всего использую его. Работает быстро, нет ничего лишнего, плагинов достаточно.
                                                  • +4
                                                    Я бы отметил, что Vim становится лучшим редактором только при одном условии: если вы владеете методом слепой печати.
                                                    • +1
                                                      Слышал такое мнение, и интересно, кто и почему его поддерживает.
                                                      У меня получается 4-6-пальцевый и не совсем слепой метод (надо видеть краем глаза контуры клавиатуры), но предпочитаю vim всем прочим консольным.
                                                      Использую IDE только там, где нужны её специфические возможности типа рефакторинга между несколькими файлами или тыкания в 500 ошибок, и то не уверен, что мне просто не хватило терпения найти плагин для этого.
                                                      • +1
                                                        Я имел ввиду, что при сравнении с другими редакторами, главное преимущество Vim — это его «эргономичность» управления при наборе вслепую. Я не встречал ни одного редактора (ни самостоятельного, ни встроенного в IDE), где это удобство сочеталось бы со всей полнотой возможностей Vim. Поэтому я его и выбираю. Если опустить вышеприведенный критерий, то Vim перестает быть уникальным и может уступать тому же Emacs, в целом, и специализированным IDE, в частности.
                                                        • 0

                                                          сложность этого понятия и не дает возможности вим заменить на IDE, в плане более качественных решений и плагинов…
                                                          но мы то с вами это знаем, что оно особо и не нужно)))

                                                    • +2
                                                      Продолжение следует…
                                                      • 0
                                                        IDE — поддерживает 1-3 языка, но делает это лучше VIM

                                                        Ой как заблуждаешься. Среды разработкт JetBrains из коробки минимум 2 поддерживает. А еще несколько десятков ставятся плагинами.
                                                        • +2
                                                          Не хочу вступать в этот холивор, мой редактор — это мой редактор, я не рыцарь его ордена, чтобы ходить за него в крестовые походы. Мой общефилософский подход к вещам: если тебя куда-то изо всех сил тянут и что-то тебе предлагают и нахваливают на замену того, что у тебя и так есть и работает — слушать не стоит. Покуда сам я не найду свои причины пользоваться этой новой хренью, меня против моей старой хрени никто не переубедит. VIM я пробовал, не прижилось. Пробовал много других редакторов, некоторые успешнее, некоторые хуже. Когда-то считал, что круче редактора кода в IDE Delphi 6 вообще ничего на белом свете быть не может, даже HTML c джаваскриптами в нем писал. Много чего еще другого пробовал, под всеми осями. У меня был просто мегаредактор под линуксом (не вим, не скажу какой, там всё равно фишка-то не в нём самом была). С недавних пор нашел себе 2 оконных фаворита, могу vim, если в консоли, но предпочту nano, если есть. И вот меня удивляет эта странная укушенность именно vim-юзеров — топить за свою любимую тулзу там, где их не спрашивали, ругать то другое, в чем они сами не разобрались, и волочить всех против воли в свою религию. В двух конторах, где я работал, vim вообще стандартом был — ты получаешь курс обучения на входе и никакой поддержки на тему поставить что-то другое. Продуктивнее [одной кроссплатформной IDE] для меня в те дни ничего не было, я ставил её в юзерспейс и клал с прибором на мнение всех, кто говорил «Зря ты этой штукой пользуешься». Вышеприведенный рефакторинг, интеграция с гитом искаропки (с гитом, коего в одной из компаний и не знали (!), а я юзал его для себя, и это стало для многих открытием — мол, вон как с кодом оказца можно, зря мы это по старинке-то), да хотя бы и локальный сервер (с горячей клавишей запуска/останова для аллергиков на мышиные хвосты) — это всё в ходе демонстрации впечатляло, хотя у всяких тимлидов сначала вызывало вопрос «А чо не из командной строки?» а потом слегка уязвленное «Понапридумывают же». Могу и из командной, но есть инструменты, которые merge conflict понятнее покажут и быстрее разрешить помогут, чем если руками колупаться. Начальник вот пишет код на полумертвом TextMate на своём маке — я не лезу к нему и не советую своё, потому что понимаю, этот парень вот там умеет быстро. Я в своих редакторах умею быстро, и не надо мне всовывать ваш vim на основе того, что у вас быстро в моём редакторе не получается.
                                                          • 0
                                                            Цитата из статьи:
                                                            Если Вы всё ещё хотите холиварить на тему Vim VS IDE, то не забывайте — это инструменты. Ваять доброе и вечное можно хоть с помощью awk, вопрос что использовать — дело лишь удобства и привычки.

                                                            • 0
                                                              Моё удивление в основном тому, что именно вимяне ходят и «говорят со всеми о Боге». От остальных столь трепетного отношения к отвертке я не наблюдаю.
                                                              • +2

                                                                Мое удивление в основном тому, что именно не вимеры накинулись на статью про режимы в виме и начали доказывать что оно не кому не нужно и даже вимерам.

                                                          • –1
                                                            Всем очень интересна твоя история, поверь
                                                          • +1
                                                            Добавьте пожалуйста вариант: я люблю IDE с VIM-plugin.

                                                            Сам сижу на PhpStorm/PyCharm + IntellijRust c IdeaVIM. Да он не идеален, но поддерживает с горем пополам основные функции vim которых вообщем-то с головой хватает именно для редактирования, да и подсветка кода у этих IDE гораздо лучше чем VIM может себе позволить. VIM использую каджый раз когда IDE что-то не может: язык, большой файл, да просто заметки которые найти можно без лишних проблем.
                                                            • –1
                                                              К сожалению уже не могу, голосовалка обнулиться. Сразу не подумал
                                                              • 0
                                                                Это IMHO самый лучший вариант, сам пользуюсь vim-mode плагинами в Idea, VS Code, VS Studio.
                                                                Но обсуждения этого вариант утопает в войнах ситхов.
                                                                С одной стороны пользователи IDE которые не понимают зачем им Vim в их IDE. В теории их можно понять, порог входа в Vim не маленький, и не хочется тратить время на изучение.
                                                                С другой стороны гуру Vim-a сразу начинают искать способ завести свои 101 плагина, и импортировать .vimrc. А потом начинают песню «а король-то — ненастоящий», хотя большинство претензий это их привычки к разным плагинам.
                                                              • +1
                                                                > Но представьте, Вы, к примеру, в основном пишите на C++, и возникла необходимость посмотреть JAVA-код. Будете ставить отдельную IDE или плагин? В случае с vim Вы просто откроете код и «из коробки» получите минимальную поддержку языка (подсветка, сворачивание блоков и т.д.)

                                                                А в чем проблема выйти из IDE (в смысле переключить окно) и посмотреть «неродные» файлы vim, sublime, чем-нибудь еще?
                                                                • 0

                                                                  а ну и забыл…
                                                                  Давай минус ананимус)))

                                                                  • 0
                                                                    IDE — хороший выбор, когда Вы окопались на 2-3 языках и никуда с них не уходите.

                                                                    А, ну то есть хороший выбор для где-то 99% людей. Окей, на этом и сойдёмся.
                                                                    • 0
                                                                      Привет, я б почитал о vim+tmux+i3
                                                                      • 0
                                                                        Поддерживаю. Про тайловые wm читал много, но в основном всё по настройкам. Хотелось бы статью про практическое использование.
                                                                      • 0
                                                                        Когда-то я пытался настроить Vim для нормальной работы с Python. Оказалось, что:
                                                                        — Нормального автодополнения (а не того, которое грузит процессор на 100% и виснет на несколько минут) нет.
                                                                        — Нормального дебаггера (без необходимости делать print на каждую переменную) тоже нет.

                                                                        Т.о. для меня vim так и не стал заменой ide, к сожалению.
                                                                        Но надо ли ему таковой быть?
                                                                        • 0
                                                                          Сразу оговорюсь — мне vim нравится. Первый более-менее сложный сайт на php я написал именно в нём. С удовольствием бы вернулся, если подскажете как в нём настроить или чем заменить:
                                                                          1. Нормальную поддержку проектов. Я знаю про плагины project и NERDTree, но последний — это вообще не о том, а project на больших проектах тормозит и были какие-то проблемы с импортом (прошу прощения, точно уже не помню)
                                                                          2. Навигацию по коду — как минимум, переход от места вызова функции к месту определения (php). Да, ctags, но как делать индексацию? Руками всего проекта? Долго и неудобно.

                                                                          Ещё очень хотелось-бы, но, думаю, нереально
                                                                          1. Автоматическая генерация импорта (php)
                                                                          2. Более-менее интеллектуальное автодополнение, а не тупо по списку слов.

                                                                          Вот из-за отсутствия этих фич у меня производительность в IDE гораздо выше чем в vim, несмотря на его возможности по обработке текста. Поэтому, несмотря на все симпатии, я не могу полноценно использовать vim в повседневной работе.
                                                                          • 0
                                                                            Могу ответить только по автокомплиту, ибо на пхп очень давно не пишу. Попробуйте YouCompleteMe
                                                                            • 0
                                                                              А на чём пишете, если не секрет?
                                                                              Хотя в любом случае, схожие задачи должны быть. Как обходитесь?
                                                                              • 0
                                                                                Извиняюсь, промахнуля, ответ ниже
                                                                            • 0

                                                                              я тоже начинал с php… я переходил на IDE и обратно.
                                                                              все же вим мне больше понравился, но что бы в нем работать надо поменять рабочий процесс + доп приложения, но для этого надо работать под линухами, масдай приходилось дорабатывать под вим.
                                                                              вот почему я многим советую не переходить под вим, это долгий процесс

                                                                            • 0
                                                                              Основной язык — go, однако время от времени приходится ковыряться в разных проектах на разных языках, от 1С до Rust, проще, наверное, просто дать Вам список моих плагинов, чем пытаться развернуто ответить на этот вопрос.
                                                                              Список плагинов
                                                                              Plug 'retorillo/json-ponyfill.vim'                                                                                                                                                                                                                                                                                            
                                                                              Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }                                                                                                                                                                                                                                                                       
                                                                              Plug 'fatih/vim-go', { 'tag': '*' }                                                                                                                                                                                                                                                                                           
                                                                              Plug 'nsf/gocode', { 'rtp': 'vim', 'do': '~/.vim/plugged/gocode/vim/symlink.sh' }                                                                                                                                                                                                                                             
                                                                              Plug 'Valloric/YouCompleteMe'                                                                                                                                                                                                                                                                                                 
                                                                              Plug 'wellle/tmux-complete.vim'                                                                                                                                                                                                                                                                                               
                                                                              Plug 'scrooloose/nerdcommenter'                                                                                                                                                                                                                                                                                               
                                                                              Plug 'majutsushi/tagbar'                                                                                                                                                                                                                                                                                                      
                                                                              Plug 'fholgado/minibufexpl.vim'                                                                                                                                                                                                                                                                                               
                                                                              Plug 'vim-airline/vim-airline'                                                                                                                                                                                                                                                                                                
                                                                              Plug 'vim-airline/vim-airline-themes'                                                                                                                                                                                                                                                                                         
                                                                              Plug 'amiorin/vim-project'                                                                                                                                                                                                                                                                                                    
                                                                              Plug 'Xuyuanp/nerdtree-git-plugin'                                                                                                                                                                                                                                                                                            
                                                                              Plug 'altercation/vim-colors-solarized'                                                                                                                                                                                                                                                                                       
                                                                              Plug 'IN3D/vim-raml'                                                                                                                                                                                                                                                                                                          
                                                                              Plug 'andreevlex/vim-language-1c-bsl' "OMG 1C                                                                                                                                                                                                                                                                                 
                                                                              Plug 'vim-syntastic/syntastic'
                                                                              


                                                                              1) Хватает плагина vim-projects и отдельного конфига в каждом проекте
                                                                              2) Ctags + tagbar + vim-go
                                                                              3) Не могу сказать, честно говоря даже не совсем понял о чем речь (давно отошёл от php, начинаю подзабывать этот ад)
                                                                              4)YouCompleteMe+syntastic+ctags
                                                                              • 0
                                                                                Большое спасибо, поковыряюсь!
                                                                                Насчёт 3-го пункта — это аналог import из java. Хотелось бы их генерировать автоматически, посколько полное имя класса (\This\is\A\Long\Class\Name) запомнить не так просто.
                                                                                • 0
                                                                                  В случае с go это разруливается с помощью vim-go, опять таки
                                                                              • 0

                                                                                Всё же главная киллер-фича Вима, тот фактор, который делает его широко используемым, а где-то и приоритетным — это… (Драматическая пауза, напряжённая музыка...) Вимеры! Люди, которым он нравится, которые его любят несмотря на "объективные недостатки" (с точки зрения их оппонентов) и даже ЗА них, потому что для них это — достоинства. Вот.


                                                                                А меряться количеством микродвижений на полезное действие — не детский сад ли?

                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.