Comments 21
Непонятно только, если автору настолько не нравится "нормальный" режим, зачем вообще брать vim? Есть же много других отличных редакторов, построенных вокруг режима "вставки".
А еще непонятно, зачем в 2026 брать голый VIm, когда даже самые кондовые олды попереходили на всякие SpaceVim/LunarVim, да хоть просто NeoVim, где вся настройка происходит по ходу пьесы.
Использовать готовую сборку или конфигурировать с нуля - это дело вкуса и поставленных перед собой целей. Но вот выбирать сейчас классический vim (именно в контексте создания легковесной IDE) я бы и в самом деле не стал. Основным разработчиком Vim на протяжении более 30 лет, вплоть до своей смерти в августе 2023 года, был Bram Moolenaar (rip). Сейчас проект поддерживают, но он скорее находится в режиме поддержки, чем активного развития. В основном сообщество действительно пересело на NeoVim, который является логичным развитием vim-философии и привносит ряд принципиальных улучшений, таких как конфиги на Lua, встроенный LSP, клиент-серверная архитектура.
Я использую "голый" vim с несколькими плагинами и небольшим конфигом, но я и не пытаюсь его использовать как IDE. Для этого VS Code + vim mode
Мне в виме привычнее и удобнее.
Я много лет сидел на "голом" VIM'е, с несколькими плагинами. Когда пересел на VScode, продуктивность выросла на порядки. Сейчас в основном VScode, частенько AstroNvim (особенно очень удобно на телефоне в Termux) и просматриваю в сторону Zed. Последний очень нравится. Особенно VIM mode из коробки. Но он пока не соответствует моим требованиям. Статья ни о чем если честно. С режимом вставки по дефолту - точно не Vim way. Хотя бы просто перейти к позиции вставки - это уже кучка команд в нормальном режиме. Зачем вставка по дефолту, я не понимаю.
Я вот тоже изрядно удивлен предлагаемым подходом. Всегда считал, что модальность - главная фишка vim, а остальное это уже приятный бонус. Понимаю, зачем включают в Emacs Evil-mode, но вот зачем делать наоборот, особенно сейчас, когда расширяемых легковесных редакторов более чем достаточно, не ясно. Было бы интересно услышать мотивацию автора по выбору vim и почему, выбрав vim для своих задач, он пошел именно по такому пути, отказавшись по сути от модальности в редакторе.
буквально сделал из Вима emacs. Это что получается, doom emacs наоборот?
Имхо, vim есть в стандартной установке любого линукс. И при некоторой практике просто привыкаешь и начинаешь его подпиливать мал по малу. Так и выходит в итоге потом что ты на нем местами код пишешь. Так что все логично.
Запуск Vim в режиме вставки.
Как известно, у редактора vi есть всего два режима. В одном он пищит, в другом портит текст.
Зачем же сходу отламывать полезный режим?
Не перестаю удивляться зачем людям столько фичь в текстовом редакторе. Много лет назад я заучил до автоматизма с десяток команд редактора vi и этого мне более чем достаточно для решения любой задачи редактирования текстовых файлов.
Например надо инклуд вставить который не помнишь ни где лежит ни как назывется ctrl+x, ctrl+f выручает. А в vi не работает. Еще например когда забыл как слово пишется, помогает автодополнение по буферу. Сниперы опять же. Да много мелочей которые улучшают набор и редактирования текста.
P.S. А для решения любой задачи редактирования текстовых файлов в vi хватает трех команд, но Вы же тоже ими не ограничились
Например надо инклуд вставить который не помнишь ни где лежит ни как назывется
Например, мы хотим найти где объявлена функция printf. Для этого воспользуемся командой grep вызвав её прямо из редактора vi со вставкой результата в редактируемый файл, жмем: :r! grep -r ’ printf(’ /usr/include
Удаляем лишнее.
Команды ! и r - это классика, их знает каждый пользователь редактора vi.
У Вас пример не корректный. После `grep -r ’ printf(’ /usr/include` Вы устанете удалять лишние.
grep -r ’ printf(’ /usr/include | wc -l
173
P.S. Я например не понимаю зачем использовать vi, в ситуациях когда можно использовать vim. Не говоря уже об обмазанном плагинами nvim. Это то же самое что имея токарный чпу станок пользоваться только ручным управлением. Я бы банально психанул на вводе имен переменных без автодополения.
Тут речь не про редактирование текстовых файлов, но про написание кода. А это поболе чем просто редактировать текст.
Я пишу код. Бывает, что очень много. LLM не использую. B c моей точки зрения написание кода это редактирование текста.
Не только. Кроме всякой подсветки синтаксиса, автодополнений и прочего есть еще, например, окошко outline
где показывается структура модуля с которым работаешь.
Есть работа с удаленным сервером. Я вот пишу под IBM i - там без возможности работать с удаленным сервером очень скучно - не все используемые объекты есть на локале, какие-то инклуды могут быть на удаленном сервере (и тот же VSCode + IBM i Development Pack позволяет их посмотреть без загрузки на локал).
Бывает что нужно работать с экранными формами которые пишутся на DDS (Data Defenition Specifications)
И для них есть preview (что тоже очень удобно)
Есть работа с гитом, например, get line history - история изменений конкретной строки кода
Есть git graph
Если работаешь с документацией в adoc, опять же, есть режим preview
Т.е. на 99% все можно делать внутри одного IDE. Просто установкой нужного набора плагинов.
Сколько времени уйдет на то, чтобы хоть как-то приблизить VIM к такому набору возможностей?
Для редактирования кода лучше все же использовать neovim, у него есть несколько приятных мелочей. А Vim хорош для администрирования системы.
Советую также ознакомится с книгой Дрю Нейла «Практическое использование Vim». Режим vim не просто так в IDE добавляют, точка иногда очень сильно помогает при рефакторинге.
То есть даже не neovim. Возникает вопрос почему?
Ужас, что вы сделали.
С Vim удобно программировать (часть I)