GNU Emacs — бесплатный редактор текста и кода с открытым исходным кодом, который развивают с 1984 года внутри проекта GNU. Он ставится на Linux, Windows и macOS, не требует регистрации и запускается двумя способами: обычным окном с меню и панелью или прямо в терминале, без графики. Интерфейс и справка только на английском, русского перевода нет, но русский текст внутри файлов редактор открывает и правит без проблем.
Главное отличие Emacs от обычного редактора в том, что это не программа с готовым набором функций, а основа, которую каждый собирает под себя. Почти всё внутри написано на встроенном языке Emacs Lisp, поэтому поведение меняется строками в текстовом файле настроек: от цвета подсветки и правил отступов до своих команд на отдельную клавишу. Из-за этого один человек правит в Emacs только код, второй ведёт в нём заметки и планы, а третий ещё и читает почту.
Что умеет GNU Emacs
- Правка кода на десятках языков — подсветка синтаксиса, автоматические отступы, сворачивание блоков, переход к объявлению функции. Языки, которых нет из коробки, добавляются дополнениями.
- Управление с клавиатуры — все команды вызываются сочетаниями клавиш, руки не уходят на мышь. Это главная причина, по которой редактор выбирают на годы: привычка остаётся с вами, даже когда меняются компьютер и работа.
- Встроенный менеджер дополнений — пакеты ставятся из официального архива GNU и сторонних архивов прямо из редактора, без скачивания файлов вручную и без установщиков.
- Org-mode — свой текстовый формат для заметок, списков дел, таблиц и расписания. Файл остаётся обычным текстом, его читает любой редактор, а Emacs умеет считать в нём таблицы, отмечать выполненные задачи и собирать план на неделю.
- Запуск команд внутри редактора — можно собрать проект, прогнать тесты или выполнить команду оболочки и разобрать вывод в отдельном окне, не переключаясь в терминал.
- Работа с Git — через популярные дополнения видно изменения по строкам, можно собирать коммиты из отдельных кусков файла и смотреть историю ветки.
- Макросы — последовательность действий записывается один раз и повторяется сколько нужно. Выручает, когда надо однообразно переделать сотню строк в выгрузке или логе.
- Файлы на сервере — Emacs открывает и сохраняет файлы по SSH так же, как локальные, со всей подсветкой и поиском.
- Разделение окна — экран делится на части, в которых открыты разные файлы, список результатов поиска, вывод команды и справка одновременно.
Отдельное удобство — файл настроек. Это обычный текст, который легко хранить в системе контроля версий и переносить на другой компьютер: распаковали Emacs, положили файл на место, и редактор снова выглядит и работает так, как вы привыкли.
Кому подходит
- Тем, кто много печатает и хочет свести работу мышью к минимуму.
- Системным администраторам: Emacs есть почти в любом дистрибутиве Linux и работает в консоли, когда на сервере нет графики.
- Тем, кто ведёт большой личный архив заметок, планов и черновиков в обычных текстовых файлах и не хочет зависеть от облачного сервиса.
- Разработчикам на C и на языках семейства Lisp: исторически под них Emacs заточен лучше всего.
- Тем, кто готов потратить несколько вечеров на настройку и считает это вложением, а не потерей времени.
Плюсы
- Полностью бесплатный, открытый код, без рекламы и подписок
- Настраивается до мелочей, настройки переносятся одним файлом
- Работает и в окне, и в терминале, в том числе на сервере по SSH
- Большой архив дополнений: от подсказок по коду до заметок и Git
- Развивается больше сорока лет и не закроется по решению одной компании
Минусы
- Непривычное управление: первые дни работа идёт медленнее, чем раньше
- Интерфейс и справка только на английском
- Без настройки выглядит старомодно, часть удобств надо добавлять самому
- Сочетания клавиш расходятся с привычными в других программах
Сколько стоит
Emacs бесплатен на всех системах, и платной версии у него нет. Редактор выпускается под лицензией GNU GPL: исходный код открыт, его можно изучать, менять и распространять дальше. Внутри нет рекламы, встроенных покупок и ограничений по времени, а дополнения из официального архива тоже бесплатны. Проект живёт на пожертвованиях Фонду свободного программного обеспечения — пользователя это ни к чему не обязывает.
Как установить
- На Windows скачайте архив со страницы Emacs на сайте проекта GNU, распакуйте его в папку без русских букв и пробелов в пути и запустите файл runemacs из подпапки bin.
- На macOS удобнее поставить готовую сборку через менеджер пакетов Homebrew или скачать приложение, собранное для Mac, со страницы проекта.
- В Linux редактор ставится одной командой из менеджера пакетов дистрибутива: Emacs есть в стандартных репозиториях почти везде.
- При первом запуске пройдите встроенный учебник — Emacs сам предлагает его на приветственном экране. За полчаса он объясняет основные клавиши.
- Создайте личный файл настроек и дописывайте в него строки по мере того, как чего-то начинает не хватать.
Частые вопросы
Работает ли Emacs в России?
Да. Редактор скачивается с сайта проекта GNU и его зеркал, аккаунт не нужен, ограничений нет. Дополнения тоже ставятся из открытых архивов.
Есть ли русский интерфейс?
Нет, меню, подсказки и справка на английском. При этом с русским текстом в файлах Emacs работает нормально, а кодировку файла при открытии и сохранении можно выбрать вручную.
Чем Emacs отличается от Vim?
Подходом. В Vim есть режимы, и команды набираются как короткие слова; в Emacs режимов нет, всё вызывается сочетаниями с Ctrl и Alt, а новое поведение дописывается на встроенном языке. Vim быстрее освоить до рабочего уровня, Emacs дальше растягивается под личные привычки.
Сложно ли начать?
Первая неделя непривычная, дальше легче. Минимальный набор — открыть файл, сохранить, выйти, найти текст и отменить действие: это пять-шесть сочетаний, и как раз их разбирает встроенный учебник.
Подойдёт ли Emacs для больших проектов?
Да, но под современные языки обычно доставляют дополнения: подключение к языковому серверу, подсказки по коду, отладчик. В готовых средах разработки это уже встроено, в Emacs собирается вручную.
