Ввод текста.
Команда sgml-insert-element - одна из наиболее часто используемых команд при работе с PSGML. При вводе этой команды из командной строки (или при выборе пункта меню Insert Element из меню Markup, или при нажатии комбинации C-c C-e), PSGML попросит ввести имя элемента в строке минибуфера:
Element: |
Как обычно, при вводе команд в окне минибуфера можно использовать функцию дополнения имен команд. Для этого нужно набрать несколько первых символов команды и нажать клавишу Tab или пробел. Если несколько команд начинаются с введенной последовательности символов, то Emacs выведет в новом окне список возможных команд. Из которых нужно выбрать одну.
После ввода имени вставляемого элемента, PSGML вставит открывающий и закрывающий тэги, а также, если это необходимо, вложенные элементы. Для реализации данной функции необходимо, чтобы переменным sgml-balanced-tag-edit и sgml-insert-required-elements присвоены ненулевые значения (подробнее см. "Установка значений переменных PSGML"). Если нужно выбрать вставляемый элемент из нескольких аналогичных, PSGML вставит соответствующий SGML-комментарий. И последнее, PSGML установит курсор в конце отрывающего тэга, чтобы можно было сразу начать ввод информации.
Пример. Допустим, нужно вставить рисунок в документ DocBook. Нажмите C-c C-e, В окне минибуфера появится подсказка
Element: |
Нужно ввести название элемента. Введите fi и нажмите Tab. Редактор должен допечатать оставшиеся символы, и в результате получится слово "figure". Нажмите ввод. PSGML вставит в текущую позицию курсора текст следующего содержания
<figure> <title></title> <!-- one of (blockquote informalequation informaltable literallayout pr\ ogramlisting screen screenshot graphic synopsis cmdsynopsis funcsynopsis link o\ link ulink) --> </figure> |
Обратите внимание, как именно выглядит строка комментариев, вставленная после тэгов заголовка и сообщающая о необходимости вставки одного из перечисленных элементов. Комментарий получился слишком длинным и не уместился целиком на одной строке, поэтому он разбит на несколько кусков, в конце которых стоят символы переноса - обратный слеш "\". Это чисто технический перенос, необходимый для облегчения визуального восприятия. Чтобы убедиться, что это одна строка, поместите курсор в начале комментария и нажмите C-k (команда kill-line).
В этом режиме все, что набирается на клавиатуре отображается на экране терминала и запоминается в буфере редактора.
Нет возможности осуществлять операции редактирования текста, за исключением стирания последнего набранного символа (с помощью комбинации клавиш < Control-H> ).
< Return> - создает пустую строку и переводит курсор в ее начало.
< Control-H> - уничтожает последний введенный символ (это действие не отображается на экране до выхода в командный режим).
< Control-[> или клавиша < Esc> - переводят редактор в командный режим.
В режиме ввода текста стрелочная клавиатура НЕ РАБОТАЕТ!