Редактор 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 и плагинами |
Пример работы
-
Открываем файл:
bash emacs -nw ~/hello.txt
-
Пишем текст:
Привет, мир! Это мой первый файл в Emacs.
-
Сохраняем:
C-x C-s
-
Выходим:
C-x C-c