Skip to content

Редактор GNU Emacs

Описание

GNU Emacs — это чрезвычайно мощный, полностью настраиваемый, самодокументированный и саморасширяемый текстовый редактор. Он используется как IDE, почтовый клиент, файловый менеджер, браузер RSS-лент, терминал и даже как среда разработки для программирования на множестве языков.

Разработан Ричардом Столменом (Richard Stallman) как часть проекта GNU.


Установка

Debian/Ubuntu:

sudo apt install emacs

CentOS/RHEL:

sudo yum install emacs

или

sudo dnf install emacs

Arch Linux:

sudo pacman -S emacs

macOS (через Homebrew):

brew install --cask emacs

Запуск

Открыть файл в emacs можно так:

emacs имя_файла

Для запуска в режиме терминала (без графического интерфейса):

emacs -nw имя_файла

-nw означает "no window" — работает прямо в терминале, подобно nano или vim.


Интерфейс

При запуске вы увидите главное окно с информацией о версии и последними изменениями. Внизу экрана — строка состояния (--:), а в самом низу — командная строка (мини-буфер).


Базовые команды

Все команды вводятся с использованием клавиши Ctrl и/или Alt (или Esc).
C-x = нажать Ctrl+X, M-x = нажать Alt+X или Esc X

Команда Описание
C-x C-f Открыть файл (Find file)
C-x C-s Сохранить текущий файл (Save buffer)
C-x s Сохранить все изменённые файлы
C-x C-w Сохранить файл под другим именем
C-g Прервать текущую команду
C-x C-c Выйти из Emacs

Навигация

Команда Описание
C-f Вперёд на один символ
C-b Назад на один символ
C-n Следующая строка
C-p Предыдущая строка
M-f Вперёд на одно слово
M-b Назад на одно слово
C-a В начало строки
C-e В конец строки
M-< В начало файла
M-> В конец файла

Редактирование текста

Команда Описание
Backspace Удалить символ слева от курсора
C-d Удалить символ справа
M-d Удалить слово вперёд
M-Backspace Удалить слово назад
C-k Удалить до конца строки
C-w Вырезать выделенный фрагмент
M-w Скопировать выделенный фрагмент
C-y Вставить из буфера обмена
M-y Показать предыдущие элементы буфера после C-y

Поиск и замена

Команда Описание
C-s Поиск вперёд
C-r Поиск назад
M-% Поиск и замена (Query Replace)
M-x replace-string Массовая замена без подтверждения

Работа с буферами

Команда Описание
C-x b Переключиться между буферами
C-x C-b Показать список всех буферов
C-x k Закрыть текущий буфер

Разделение окон

Команда Описание
C-x 2 Разделить окно горизонтально
C-x 3 Разделить окно вертикально
C-x o Переключиться между окнами
C-x 1 Закрыть все окна, кроме текущего

Расширенные возможности

1. Мини-буфер

В нижней части экрана находится мини-буфер, где можно вводить команды через M-x, например:

M-x find-file
M-x save-buffer
M-x shell
M-x dired
M-x calendar

2. Dired — файловый менеджер

Запустите проводник:

M-x dired

Вы можете просматривать содержимое директорий, копировать, перемещать, удалять файлы и редактировать их.

3. Shell внутри Emacs

Запустите терминал:

M-x shell

Или полноценный TTY-терминал:

M-x term

4. Org Mode

Один из самых популярных режимов в Emacs — Org Mode — позволяет: - Вести заметки - Управлять задачами и проектами - Создавать таблицы, диаграммы, экспортировать в PDF/HTML - Писать лекции и статьи

Пример запуска:

M-x org-mode

5. Режим программирования

Emacs поддерживает более 100 языков программирования. Например:

M-x python-mode
M-x c++-mode
M-x js-mode
M-x go-mode

С возможностями: - Автозавершение - Интеграция с LSP - Подсветка синтаксиса - Форматирование кода


Настройка .emacs или init.el

Файл конфигурации обычно находится в домашней директории:

~/.emacs

или

~/.emacs.d/init.el

Пример минимального конфига:

(setq inhibit-startup-message t) ; скрыть стартовое сообщение
(global-linum-mode t)            ; включить номера строк
(set-frame-font "Monospace-12")  ; установить шрифт

Полезные советы

  • Используйте C-h t чтобы пройти встроенный учебник.
  • C-h a — поиск команд по ключевому слову.
  • C-h i — доступ к документации в формате Info.
  • Для быстрого поиска и навигации используйте пакет helm или ivy.
  • Установите MELPA — репозиторий пакетов для расширения функционала.

Альтернативы

Редактор Когда использовать
nano Для быстрого и простого редактирования
vi / vim Если нужен легковесный и повсеместно доступный редактор
micro Современный и дружелюбный терминальный редактор
VS Code / JetBrains Для полноценной IDE с GUI и плагинами

Пример работы

  1. Открываем файл: bash emacs -nw ~/hello.txt

  2. Пишем текст: Привет, мир! Это мой первый файл в Emacs.

  3. Сохраняем: C-x C-s

  4. Выходим: C-x C-c