Emacs Манипулирование файлами
100%

Продвинутый Text-Fu · Урок 10

Emacs Манипулирование файлами

Узнайте, как в Emacs открывать, сохранять, переименовывать, перечитывать и проверять файловые буферы.

Emacs открывает файлы в буферах. Редактирование сначала изменяет буфер, а сохранение записывает его текущее содержимое по связанному пути. Читайте сообщения минибуфера: разрешения, конфликтующие изменения на диске и другие ошибки могут помешать записи.

Открытие файла

Нажмите C-x C-f, что запускает find-file, затем введите путь в минибуфере и нажмите Enter:

C-x C-f

Emacs открывает существующий доступный файл в буфере либо готовит новый файловый буфер для отсутствующего пути. Во втором случае файла на диске не будет до успешного сохранения.

При вводе пути доступно дополнение клавишей Tab. Открытие каталога обычно запускает редактор каталогов Dired, а не воспринимает каталог как текстовый файл.

Какая последовательность Emacs запрашивает путь и открывает его?

Когда обычно создаётся файл на диске, если C-x C-f открывает несуществующий путь?

Сохранение текущего буфера

Нажмите C-x C-s, что запускает save-buffer, чтобы сохранить текущий файловый буфер:

C-x C-s

Если у буфера нет связанного имени файла, Emacs запросит его. Успешная запись снимает индикатор изменений; при ошибке несохранённые данные остаются в буфере, а Emacs сообщает о проблеме.

Какая последовательность сохраняет текущий файловый буфер?

Запись под другим именем

Нажмите C-x C-w, что запускает write-file: Emacs запросит путь, запишет туда буфер и свяжет его с новым файлом:

C-x C-w

Это поведение Emacs «Сохранить как». Оно отличается от простой записи отдельной копии с продолжением работы по исходному пути.

Какая последовательность выполняет обычную операцию «Сохранить как» для текущего буфера?

Проверка нескольких изменённых буферов

Нажмите C-x s, что запускает save-some-buffers, чтобы проверить изменённые файловые буферы:

C-x s

Обычно Emacs спрашивает, сохранять ли каждый подходящий изменённый буфер. Читайте имя и отвечайте осознанно: это не безусловная команда «сохранить всё».

Что обычно делает C-x s?

Перечитывание с диска

Если файл изменился на диске и вы намеренно хотите отбросить текущее содержимое буфера, выполните M-x revert-buffer и внимательно проверьте запрос подтверждения. Перечитывание может уничтожить несохранённые правки, поэтому сначала решите, какой источник должен победить.

Перед решением можно сохранить отдельную копию либо воспользоваться системой контроля версий и инструментами сравнения. Не считайте перезагрузку безвредной для изменённого буфера.

Урок завершён

Вы завершили Emacs Манипулирование файлами

Теперь вы умеете управлять файловыми буферами, не путая открытие с записью.

  • Открывать путь через C-x C-f.

  • Создавать отсутствующий файл только при сохранении его буфера.

  • Сохранять текущий буфер через C-x C-s.

  • Сохранять под новым посещаемым именем через C-x C-w.

  • Проверять несколько изменённых буферов через C-x s.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Продвинутый Text-Fu