Я иногда пользуюсь VSCode. Мне он нравится значительно меньше Vim, так как он более мудрёный в самом плохом смысле. Сделать в Vim кастомную функцию и забиндить её вызов на какое-то событие — пару строк в конфиге. В VSCode вам придётся создавать для этого отдельный проект на JavaScript.
То, что в текстовый редактор заранее добавили несколько плагинов не делает его IDE. Тем более, что это результирует в этой ужасной полосе иконок слева. Это не только впустую тратит место, так ещё на неё понавешано большое количество функциональности, и даже если вы её скроете, то вам все равно её придётся часто вызывать по сочетанию клавиш.
Мне нравится, что вы упомянули intellisense, так как vim-coc является его прямым портом под Вим. Git полностью обслуживается vim-fugitive и vim-gitgutter. Vim имеет встроенную поддержку подсветки моря языков и, если вдруг ваш не поддерживается или вам она не нравится, то это чинится плагинами. Под рефакторинг есть общие плагины и специализированные программы типа eclim.
Отсутствие некоторых вещей в базовой комплектации делает Vim только лучше, так как он становится более универсальным. Многие его используют как блокнот. Конечно, если есть желание, то для этого можно подрубить и Xcode, и Visual Studio, но я думаю, что не стоит объяснять почему это глупо.
Единственное из перечисленного, что делает Vim хуже — поддержка дебаггеров. Но про это тоже в комментариях всё пояснили.
Есть причина, по которой я пользуюсь Vim и она состоит в том, что мною не было найдено альтернативы лучше. Но вы, конечно, можете всегда это оспорить и написать про это статью в хаб, посвящённый VSCode. Стоп...
VSCode — такой же редактор, как и Vim, и под него тоже нужно ставить плагины для комфортной работы. У Vim также немерено встроенного функционала, как тут многие в комментариях уже отмечали. Если вам хватает дефолтного состояния Студии, то вы либо разрабатываете под веб, либо у вас ещё не было необходимости в решении комплексных задач.
А насчёт скорости работы — ну может быть в сравнении с IDE и Atom он быстрый...
Зачем писать про то, про что уже есть на Хабре море статей? Про автодополнения и интеграцию с Lang-серверами уже было написано достаточно, чтобы можно было разобраться. Может быть я про это упомяну в следующий раз.
Решением проблем с производительностью является использование легковесных плагинов с поддержкой асинхронности.
Различия между Vim и NeoVim более значительны для их разработчиков, чем для пользователей.
Добавить горизонтальную черту — не проблема. Есть плагины, которые умеют вставлять в текст символы, которые не будут сохранены на записи. Разные цвета фона делаются только через костыли.
Вим быстрый, но некоторые плагины, например старые проверяльщики синтаксиса, могут результировать в подвисаниях. Просто найдите им асинхронную альтернативу.
Мои основные языки — C++ и Python. Мне пока для рефакторинга относительно больших код-баз хватало обычных средств редактирования и регулярных выражений.
У меня были попытки перейти на Emacs, но так и не вышло. Я не пользуюсь табами, но обожаю иметь множество открытых окон редактора. Emacs при создании нового фрейма сбрасывает почти все настройки — остаётся только тема и то, что у вас получилось впихнуть в default-frame-alist…
Я не говорю, что там нельзя это сделать, но мне было лень в этом разбираться.
Интеграция отладчика что в Вим, что в Саблайм (не знаю как сейчас, но года два назад у меня это не вышло) всегда была проблемной. Есть плагины, которые пытаются его интегрировать с GDB и LLDB, но даже если они у вас начнут работать, вы всё равно будете ограничены сплитами и табами.
Сейчас даже GUI реализации Вима при создании нового окна просто открывают новый инстанс редактора. Подобное решение происходит из того, что он — программа консольная, из чего следуют эти ограничения (при открытии нового виртуального терминала вы тоже, считайте, входите в новую сессию). Полная поддержка нескольких мониторов появится, когда разработчики начнут уделять больше времени GUI версиям.
Пока единственное решение проблемы, которое я вижу, — сделать плагин, который будет дампить данные об предупреждениях и ошибках (и прочее) во временные скрытые файлы и открывать их в новой сессии Вима, но подобных готовых решений вроде нет.
Можно также купить широкоформатный монитор или привыкнуть к идеологии минимализма, но это не решение самой проблемы
А зачем? Для «работы юзера» есть программы от GNU и сотен других разработчиков.
Весь смысл GNU/Linux в том, что он разделён на несколько прослоек, за каждую из которых отвечают разные разработчики, что обеспечивает его высокую степень кастомизации. Конечно, у такого подхода есть свои минусы, но кто не без греха?
Всё, что вы перечислили можно сделать и в обычном Vim (плагинами). Однако мой посыл заключался в том, что в нём удобно текст редактировать. С предоставлением функционала Vim вполне справится и «крутой IDE» (тоже плагинами)
Я иногда пользуюсь VSCode. Мне он нравится значительно меньше Vim, так как он более мудрёный в самом плохом смысле. Сделать в Vim кастомную функцию и забиндить её вызов на какое-то событие — пару строк в конфиге. В VSCode вам придётся создавать для этого отдельный проект на JavaScript.
То, что в текстовый редактор заранее добавили несколько плагинов не делает его IDE. Тем более, что это результирует в этой ужасной полосе иконок слева. Это не только впустую тратит место, так ещё на неё понавешано большое количество функциональности, и даже если вы её скроете, то вам все равно её придётся часто вызывать по сочетанию клавиш.
Мне нравится, что вы упомянули intellisense, так как vim-coc является его прямым портом под Вим. Git полностью обслуживается vim-fugitive и vim-gitgutter. Vim имеет встроенную поддержку подсветки моря языков и, если вдруг ваш не поддерживается или вам она не нравится, то это чинится плагинами. Под рефакторинг есть общие плагины и специализированные программы типа eclim.
Отсутствие некоторых вещей в базовой комплектации делает Vim только лучше, так как он становится более универсальным. Многие его используют как блокнот. Конечно, если есть желание, то для этого можно подрубить и Xcode, и Visual Studio, но я думаю, что не стоит объяснять почему это глупо.
Единственное из перечисленного, что делает Vim хуже — поддержка дебаггеров. Но про это тоже в комментариях всё пояснили.
Есть причина, по которой я пользуюсь Vim и она состоит в том, что мною не было найдено альтернативы лучше. Но вы, конечно, можете всегда это оспорить и написать про это статью в хаб, посвящённый VSCode. Стоп...
VSCode — такой же редактор, как и Vim, и под него тоже нужно ставить плагины для комфортной работы. У Vim также немерено встроенного функционала, как тут многие в комментариях уже отмечали. Если вам хватает дефолтного состояния Студии, то вы либо разрабатываете под веб, либо у вас ещё не было необходимости в решении комплексных задач.
А насчёт скорости работы — ну может быть в сравнении с IDE и Atom он быстрый...
Решением проблем с производительностью является использование легковесных плагинов с поддержкой асинхронности.
Различия между Vim и NeoVim более значительны для их разработчиков, чем для пользователей.
Добавить горизонтальную черту — не проблема. Есть плагины, которые умеют вставлять в текст символы, которые не будут сохранены на записи. Разные цвета фона делаются только через костыли.
Вим быстрый, но некоторые плагины, например старые проверяльщики синтаксиса, могут результировать в подвисаниях. Просто найдите им асинхронную альтернативу.
Мои основные языки — C++ и Python. Мне пока для рефакторинга относительно больших код-баз хватало обычных средств редактирования и регулярных выражений.
Я не говорю, что там нельзя это сделать, но мне было лень в этом разбираться.
Сейчас даже GUI реализации Вима при создании нового окна просто открывают новый инстанс редактора. Подобное решение происходит из того, что он — программа консольная, из чего следуют эти ограничения (при открытии нового виртуального терминала вы тоже, считайте, входите в новую сессию). Полная поддержка нескольких мониторов появится, когда разработчики начнут уделять больше времени GUI версиям.
Пока единственное решение проблемы, которое я вижу, — сделать плагин, который будет дампить данные об предупреждениях и ошибках (и прочее) во временные скрытые файлы и открывать их в новой сессии Вима, но подобных готовых решений вроде нет.
Можно также купить широкоформатный монитор или привыкнуть к идеологии минимализма, но это не решение самой проблемы
Готовые сборки есть. Например, https://github.com/SpaceVim/SpaceVim
*на разные экраны
Запустите в одном окне терминала Вим, а в другом — дебаггер и перетащите их в разные окна
А зачем? Для «работы юзера» есть программы от GNU и сотен других разработчиков.
Весь смысл GNU/Linux в том, что он разделён на несколько прослоек, за каждую из которых отвечают разные разработчики, что обеспечивает его высокую степень кастомизации. Конечно, у такого подхода есть свои минусы, но кто не без греха?
Всё, что вы перечислили можно сделать и в обычном Vim (плагинами). Однако мой посыл заключался в том, что в нём удобно текст редактировать. С предоставлением функционала Vim вполне справится и «крутой IDE» (тоже плагинами)