начало
Моё знакомство с редакторами началось в 2020 году, когда я играл в Stormworks. В игре была встроенная поддержка Lua, и мне это казалось безумно крутым - пока я не открыл их встроенный IDE. Называть его «простеньким» - это ещё мягко. Я сразу понял: должно же быть что-то получше. Скачал VSCode с расширением для Stormworks. Бах! Продуктивность на максимум.
Какое-то время всё было кайфово. Я с радостью писал код для микроконтроллеров в игре, о которой почти никто не слышал. Но наступил 2022, и я начал писать «настоящий» код - вне игр. И вот тут я захотел большего. На YouTube какие-то кодинг-боги писали код с магической скоростью в каком-то Neovim. Это выглядело не как программирование, а как наркоманский спидран.
Ну и, конечно, я его скачал. Посмотрел “Neovim in 100 Seconds” от Fireship - и подумал, что вот оно, прокачка всей жизни.
разочарование
…Ну, почти. Neovim запустился как олдскульная RPG из 80-х, без капли обучения. Я провёл кучу времени в гугле, пытаясь настроить хоть что-то базовое, и в итоге сдался. «Эх, потом разберусь™», - подумал я. ну-ну, посмотрим.
Ближе к концу 2022 у меня появился новый ПК, а на старом ноуте я по приколу поставил Linux. И это была любовь с первого бута (если не считать мой опыт с Ubuntu - об этом лучше молчать). Погружение в мир Linux открыло для меня вселенную кастомизации и DIY-сетапов, и я понял… Возможно, с Neovim мы ещё не закончили.
NvChad
Довольно быстро стало понятно: писать конфиг с нуля - не лучшая идея. Я начал искать готовые сборки Neovim и выбрал NvChad, потому что у него было классное название(ну а что, это самая настоящий критерий для выбора софта). Установил все зависимости и всё такое. Было весело. Я дико тупил с этой новой парадигмой «модального редактора», но почему-то мне это нравилось. Писать что-то типа ca(
и просто менять текст - это ощущалось почти как нелегальное хакерство. Как это вообще возможно без мышки?
Но всё равно у меня было ощущение, что я «что-то делаю не так». Может, мне нужен другой «дистрибутив» Neovim? Или надо прочитать vimtutor
ещё раз? Но несмотря ни на что, я чувствовал, что это мой редактор.
Helix Editor
Я вообще люблю нишевые штуки. Чем нишевее, тем лучше. И тогда я был конкретным фанбоем Rust. Так что когда я увидел Helix - ультра-необычный постмодерновый редактор на Rust - у меня просто взорвался мозг. Конечно, я сразу вбил sudo pacman -S helix
и начал играться. И после довольно странных биндов в Neovim dd
это удаление строки??), модель “выделение → действие” в стиле Kakoune ощущалась гораздо более логичной. И мне безумно понравилось, что я почти ничего не должен был писать в конфиге - поменял тему, пару мелочей подправил, и всё. Никаких вкусов разработчиков «дистрибутива». Полная свобода.
До тех пор, пока я не стал забивать на Obsidian… Ну да, оказывается, плагин-система иногда всё-таки нужна, иначе наткнёшься на кейс, который разработчики не предусмотрели, и такой: «эм, а что теперь?..» Для меня этим стоппером стало ведение заметок в markdown. У Helix (и, насколько знаю, до сих пор) нет нормальной поддержки заметок. Что делать? Я снова вспомнил о любимых продуктивных ютуберах - jvscholz (и отчасти DT).Услышал, как они упомянули какой-то «org-mode». Погуглил - оказывается, это что-то из Emacs. А всё, что я знал об Emacs - это шутки на r/vim про то, что это «операционка».
Но я всё равно решил попробовать. Так что…
Emacs
Я не знал, чего ждать. Зашёл на YouTube, нашёл что-то про Doom Emacs, установил - и в целом, было ок. Да, запуск тормозной, язык конфигурации (elisp) дикий. Но всё же, это ощущалось как lispy-версия Neovim.
Org-mode оказался просто топ: TODO с расписаниями, трекер привычек, и всё это в обычных текстовых файлах. Просмотр дел на неделю был настолько удобным, что один раз я не забыл про экзамен только благодаря ему.
Но что-то было не так… Подлагивания, невозможность что-то внятно дописать в конфиг, отсутствие нормальной поддержки colemak. Я слился.
Но на этот раз я не вернулся ни в Helix, ни в VSCode.
Спасение
На этот раз я сделал свой собственный конфиг.
Моим спасением стал typecraft с его серией nvim for newbs. Благодаря ему я наконец понял, что вообще происходит в конфиге, и смог развивать его до текущих размеров(1840 строк lua). Neovim стал закрывать все мои потребности - от кода до заметок. Каждый бинд теперь имеет смысл. Да, поначалу всё это бесило и казалось странным. Но главное - это моё. Я знаю, как оно работает. Я знаю, почему оно ломается - и как починить.
Сейчас Neovim закрывает абсолютно всё, что мне нужно. Программирование, скрипты, редактирование конфигов, написание блогов (вот прямо сейчас), и даже заметки. Я забросил Obsidian, Emacs и VSCode. Всё делает Neovim.
Наверное, я потом напишу отдельный пост про свою систему заметок, но пока просто скажу: zk + реальный бумажный блокнот = счастье. Иногда я меняю конфиг просто ради фана. Новый плагин, новая тема, тупой бинд (у меня есть один, который меняет шрифт. зачем? хз). Но в этом весь кайф. Мне не нужно ждать, пока кто-то «реализует фичу» в «дистрибутиве». Я просто делаю, что хочу.
Наверное, именно этого я и хотел всё это время.
Не просто редактор.
Я хотел свободы.