Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Практическая информатика
  3. Глава 4 Обработка текста
  4. Emacs

Клавиатурные макросы

В редакторе Emacs возможно использование специальных макрокоманд (или макросов), которые позволяют многократно повторять один раз введенную последовательность действий.

Во время определения клавиатурного макроса происходит его первое выполнение и можно видеть, каково действие ваших команд. После этого вы можете выполнить макрос любое необходимое число раз, нажав клавишу Esc и указав затем количество повторений и команду выполнения макроса.

Команда Назначение
C-x ( Начать ввод макроса
C-x ) Закончить ввод макроса
C-x e Выполнить макрос

Макрос сохраняется в памяти редактора до тех пор, пока не будет определен новый макрос. Если вы хотите сохранить макрос клавиатуры дольше, чем до следующего определения, то ему нужно дать имя командой M-x name-last-kbd-macro. Введите команду (можно пользоваться клавишей Tab для автопродолжения), нажмите Enter, затем введите имя макроса. Для выполнения именованного макроса наберите M-x и имя макроса.

Рассмотрим на примерах приемы создания макросов.


Пример
Заменить указанную букву в тексте многоточием, а саму букву поместить в конце слова, окружив ее фигурными скобками, например, для буквы "о" в слове "выполнить" получить "вып...лнить{о}". Для этого необходима следующая последовательность команд:

 1)   переместиться к требуемой букве;
 2)   C-x ( -- начать ввод макроса;
 3)   стрелка вправо;
 4)   C-пробел -- установить метку;
 5)   стрелка влево;
 6)   C-w -- удалить все с текущей позиции до метки;
 7)   ... -- вставить три точки;
 8)   M-f -- переместиться к концу слова;
 9)   { -- ввести левую фигурную скобку;
10)   C-y -- вставить последний уничтоженный текст;
11)  } -- ввести правую фигурную скобку;
12)   C-x ) -- закончить ввод макроса.

После этого можно выполнить макрос при помощи комбинации клавиш C-x e. Сохраним данный макрос под именем one.

Теперь создадим макрос для обратной задачи: вставить вместо многоточия '...' в слове букву, стоящую в фигурных скобках в конце слова, т. е. заменить "вып...лнить{o}" на "выполнить". Приведем макрос, решающий данную задачу.

1. C-x ( 5. C-r ... 9. Backspace 2. C-s { 6. Enter 10. стрелка влево 3. стрелка влево 7. C-y 11. Backspace 4. C-k 8. Esc 3 C-d 12. C-x )

Отметим, что команда Esc 3 C-d трижды выполняет операцию удаления символа. Сохраним макрос под именем two.

Мы получили два макроса, выполняющие взаимно обратные преобразования. Убедитесь в этом, последовательно выполнив один макрос за другим: для выполнения первого наберите M-x one, для второго -- M-x two.

Перекрёстные ссылки книги для Клавиатурные макросы

  • Редактирование
  • Вверх
  • Дополнительные возможности

Book navigation

  • Содержание
  • Глава 1 Основы информатики
  • Глава 2 Операционные системы и сети
  • Глава 3 Графика на компьютере
  • Глава 4 Обработка текста
    • Форматы текстовых файлов
    • Кодировки русского текста
    • Редакторы plain-текста
    • Emacs
      • Работа с файлами
      • Редактирование
      • Клавиатурные макросы
      • Дополнительные возможности
    • MS Word
    • StarWriter
    • Netscape Composer
    • KLyX
  • Глава 5 Основы языка HTML
  • Глава 6 Динамический HTML
  • Глава 7 Простейшие вычисления
  • Глава 8 Системы компьютерной алгебры
  • Глава 9 Модели и программирование
  • Глава 10 Логическое программирование
  • Глава 11 Введение в ООП
  • Глава 12 Программирование и интернет

Последние материалы

  • Приложение scanimage
    1 day ago
  • Утилита sensors
    5 days ago
  • Сканер Rkhunter
    1 week 5 days ago
  • Программа resize2fs
    2 weeks 3 days ago
  • Аудиопроигрыватель QMMP
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru