Многие считают, что эта текстовых редакторов типа VIM, NeoVim и GNU Emacs давно прошла. Мысль примерно такая:
Светлое будующее за искусанным интеллектом. Просто мычишь в микрофон, а он тебе готовый код выдаёт.
Давайте разбираться, так ли это, и насколько текстовые редакторы не нужны в 2026 году.
AI
Самая большая проблема с любой LLM — прокладка между стулом и компьютером. Кожаные мешки с костями в большинстве своём не способны отличить хороший, проверенный код от лажи.
Безусловно, AI с нами теперь навсегда, и многих программистов и около-айтишников выкинут на мороз. Однако, останутся те, кто способен оценивать качество работы, выполненной AI, и их ценность будет только расти.
Для современного текстового редактора или IDE интеграция с AI теперь входит в базовый минимум.
Давайте смотреть:
-
VS Code — Copylot.
-
Zed — интеграция с множеством разных AI.
А что же Emacs?
Таким образом, интеграция с AI есть, пусть и не «из коробки». Уверен, что в ближайшем будущем какой-нибудь пакет станет встроенным, то есть войдёт в базовую поставку Emacs.
TreeSitter
Если вы не знаете, что такое TreeSitter, то я вам сейчас расскажу.
Как раньше писали парсеры?
-
Разработчик IDE или редактора садится и пишет поддержку синтаксиса языка.
-
Когда другой разработчик решает добавить поддержку языка в свой продукт, он садится и заново делает одну и ту же работу.
Таким образом, мы получаем набор разнородных парсеров, каждый со своими багами и особенностями.
Какую проблему решает TreeSitter?
Теперь для поддержки синтаксиса языка достаточно создать всего один парсер, а использовать его как подключаемую библиотеку смогут все желающие.
В Emacs есть поддержка TreeSitter. Сейчас идёт большая работа по переписыванию основных режимов Emacs под TreeSitter. Старые режимы никуда не деваются, вместо этого добавляются новые. Чтобы использовать возможности TreeSitter, нужно не так уж много:
-
Скомпилировать грамматику для нужного языка.
-
Использовать соответствующий режим, название которого заканчивается на
-ts-mode.Со временем количество таких режимов будет расти. Уже сейчас доступны «из коробки»:
-
bash-ts-mode -
c-ts-mode -
javascript-ts-mode -
json-ts-mode -
python-ts-mode -
ruby-ts-mode -
yaml-ts-mode
-
LSP
Language Server Protocol поддерживается в Emacs с помощью пакета Eglot. Он позволяет работать с любым сервером, достаточно правильно прописать настройки. За это, конечно, скажем спасибо Microsoft: сейчас JSON практически промышленный стандарт.
Git
В Emacs «из коробки» есть всё нужное для работы с Git, но пакет Magit возводит работу с ним в абсолют. Несколько нажатий клавиш — и вот вы уже создали ветку. Ещё несколько лёгких движений — файлы добавлены в индекс, открыта форма для ввода сообщения коммита. Нажмите Ctrl+C дважды, и коммит готов.
Подражать Magit пытаются разные инструменты, но по своей мощи и удобству работы с Git он на голову превосходит все существующие средства.
Текст
Есть ли в операционной системе Emacs удобный текстовый редактор? Смотря что понимать под словом «удобный».
Последовательности клавиш по умолчанию вызывают у начинающих пользователей фрустрацию. В смысле Ctrl+A не выделяет текст, а перемещает курсор в начало строки?
Какого чёрта Ctrl+V прокручивает страницу? Скажите спасибо, что это прокрутка вертикальная, а горизонтальную надо включать вручную.
Почему для открытия файла надо нажать не Ctlr+O, а Ctrl+X, а затем Ctrl+F?
Поначалу может показаться, что сочетания клавиш в Emacs придумал какой-то сумасшедший. На самом деле в них есть логика, пусть и не вполне человеческая. Если приложите достаточно усилий, то сможете адаптироваться, и тогда широко распространённые сочетания клавиш покажутся вам идиотизмом, а сочетания Emacs вполне удобными и продуманными.
Что насчёт сглаживания шрифтов? Оно есть. Настройка шрифтов нетривиальна, но её нужно сделать один раз.