Редактирование в Emacs
100%

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

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

Научитесь перемещать point, активировать region и редактировать текст командами kill ring в Emacs.

Текущая позиция курсора в Emacs называется point. Команды перемещения меняют point, а команды редактирования вставляют, удаляют, вырезают, копируют или возвращают текст рядом с ним. Ниже C- означает Control, а M- — Meta, обычно Alt.

Перемещение по символам и строкам

Стрелки и другие системные клавиши навигации могут работать, но стандартные команды Emacs доступны и в терминальных, и в графических сеансах:

  • C-f: на один символ вперёд.
  • C-b: на один символ назад.
  • C-n: к следующей строке.
  • C-p: к предыдущей строке.
  • C-a: к началу строки.
  • C-e: к концу строки.

Какая клавиша Emacs перемещает point к следующей строке?

Перемещение по словам и границам буфера

Команды Meta перемещаются по более крупным единицам:

  • M-f: вперёд на одно слово.
  • M-b: назад на одно слово.
  • M-<: к началу буфера.
  • M->: к концу буфера.

На многих клавиатурах роль Meta выполняет Alt. Если такое сочетание недоступно, последовательное нажатие Esc и следующей клавиши часто отправляет эквивалентную Meta-команду.

Какая клавиша Emacs перемещает point в конец буфера?

Определение области

Mark — сохранённая позиция буфера. Текст между point и mark называется region. Нажмите C-SPC, в некоторых документах C-space, чтобы выполнить set-mark-command, а затем перемещайте point, расширяя активную область.

В терминале C-SPC может кодироваться как C-@. Подсветка зависит от настроек transient-mark, но point и mark всё равно определяют область.

Какая клавиша начинает определять region, устанавливая mark в позиции point?

Вырезание и копирование области

Emacs хранит вырезанный и скопированный текст в kill ring:

  • C-w: вырезать активную область, удалив её и добавив в kill ring.
  • M-w: скопировать активную область в kill ring без удаления.
  • C-k: вырезать от point до конца строки; повтор может захватить перевод строки.

Вырезание отличается от обычного удаления тем, что удалённый текст сохраняется для последующего yank.

Какая клавиша копирует активную область в kill ring, не удаляя её?

Вставка из kill ring

Нажмите C-y, чтобы вставить в point последнюю запись kill ring. Сразу после этого M-y заменяет вставленный текст более ранней записью; повторные M-y перебирают записи.

C-y
M-y

Если после C-y выполнить несвязанную команду, у M-y уже не будет того же контекста yank-pop.

Какая клавиша вставляет в point последнюю запись kill ring?

Потренируйтесь в *scratch* или одноразовом файле: перемещайте point, задайте mark, скопируйте одну область, вырежьте другую и вставьте обе обратно. Сохраняйте результат, только если файл стоит оставить.

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

Вы завершили Редактирование в Emacs

Теперь вы умеете перемещать и переставлять текст Emacs с помощью point, mark и kill ring.

  • Перемещаться по символам и строкам командами Control.

  • Перемещаться по словам и границам буфера командами Meta.

  • Устанавливать mark через C-SPC, чтобы определить region.

  • Вырезать через C-w и копировать через M-w.

  • Вставлять через C-y и сразу после этого перебирать записи через M-y.

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

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

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