Pull to refresh
32
0
Хова Феклисова @Hovushka

Студент

Send message

Я иногда пользуюсь 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 версиям.

Пока единственное решение проблемы, которое я вижу, — сделать плагин, который будет дампить данные об предупреждениях и ошибках (и прочее) во временные скрытые файлы и открывать их в новой сессии Вима, но подобных готовых решений вроде нет.

Можно также купить широкоформатный монитор или привыкнуть к идеологии минимализма, но это не решение самой проблемы

Готовые сборки есть. Например, https://github.com/SpaceVim/SpaceVim

*на разные экраны

Запустите в одном окне терминала Вим, а в другом — дебаггер и перетащите их в разные окна

А зачем? Для «работы юзера» есть программы от GNU и сотен других разработчиков.


Весь смысл GNU/Linux в том, что он разделён на несколько прослоек, за каждую из которых отвечают разные разработчики, что обеспечивает его высокую степень кастомизации. Конечно, у такого подхода есть свои минусы, но кто не без греха?

Всё, что вы перечислили можно сделать и в обычном Vim (плагинами). Однако мой посыл заключался в том, что в нём удобно текст редактировать. С предоставлением функционала Vim вполне справится и «крутой IDE» (тоже плагинами)

2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity