Emacs для начинающих



         

Пример применения HTML-редактор своими руками - часть 2


И потому оптимальным представляется составление документа в текстовом редакторе с одновременной разметкой html-тэгами. Но проставлять их вручную, даже если помнишь все наизусть, - занятие достаточно нудное. И посему возникает естественное желание его автоматизировать. Благо NEdit с его развитым макроязыком и простыми средствами его применения такую возможность обеспечивает.

Для начала определимся, какие тэги требуются для каждодневного использования. Это:

  • во-первых, заголовки нескольких (скорее всего первого-третьего) уровней;
  • во-вторых, тэги образования абзаца (p) и разрыва строки (br);
  • в третьих, структурные тэги strong, emphasis и preformatted text;
  • в четвертых, всякого рода списки (маркированные, нумерованные, списки с определениями) и их элементы;
  • ну и в пятых, естественно, гиперссылки и именованные якоря (a href и a name, соответственно).

Вот в такой последовательности и будем создавать соответствующие макросы. Включаем режим протоколирования (через меню Macro - Learn Keystrokes или комбинацию Alt+K) и просто-напросто набираем с клавиатуры последовательность символов <h1></h1>

Для обеспечения непрерывности набора логично вернуть курсор в позицию между открывающим и закрывающим тэгами, для чего соответствующее количество раз нажимаем клавишу Left. После чего завершаем протоколирование (через меню Macro - Finish Learn или повторным нажатием Alt+K), через меню Macro Replay Keystrokes (или - комбинацию Ctrl+K) проверяем правильность исполнения и переходим в меню Preferences - Default Settings - Customize Menu - Macro Menu.

В появившейся панели Macro Commands указываем в поле Menu Entry Headers>header1

в поле Accelerator приписываем команде клавишу вызова (например, F1, благо она не закреплена за вызовом помощи), при желании определяем мнемоническую литеру (хотя большого смысла в этом я не вижу) и смело жмем на экранную кнопку Paste Learn/Reply Macro. В результате в поле Macro Command to Execute появляется код вроде следующего: insert_string("<") insert_string("h") insert_string("1") insert_string(">") insert_string("<") insert_string("/") insert_string("h") insert_string("1") insert_string(">") backward_character() backward_character() backward_character() backward_character() backward_character()




Содержание  Назад  Вперед