начало
Моё знакомство с редакторами началось в 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 + реальный бумажный блокнот = счастье. Иногда я
меняю конфиг просто ради фана. Новый плагин, новая тема, тупой бинд (у
меня есть один, который меняет шрифт. зачем? хз). Но в этом весь кайф.
Мне не нужно ждать, пока кто-то «реализует фичу» в «дистрибутиве». Я
просто делаю, что хочу.
Наверное, именно этого я и хотел всё это время.
Не просто редактор.
Я хотел свободы.