Глава 11. Использование Emacs в режиме sgml-mode

Последние версии Emacs или Xemacs (которые доступны из коллекции портов) содержат очень полезный пакет под названием PSGML. Автоматически вызываемый при загрузке файла с расширением .sgml или при наборе команды M-x sgml-mode, он является основным режимом для работы с файлами SGML, элементами и атрибутами.

Понимание некоторых команд, которые доступны в этом режиме, может значительно облегчить работу с документами SGML, такими, как Руководство.

C-c C-e

Вызывает sgml-insert-element. Вам будет задан вопрос об имени элемента для вставки в текущую позицию. Вы можете использовать клавишу TAB для дополнения имени элемента. Элементы, использование которых запрещено в текущей позиции, будут недоступны.

Будут вставлены начало и конец метки элемента. Если элемент содержит другие, обязательные элементы, то они тоже будут вставлены.

C-c =

Вызывает sgml-change-element-name. Поместите указатель внутри элемента и вызовите эту команду. Вам будет задан вопрос о новом имени элемента. Как начальная, так и конечная метки текущего элемента будут изменены на новые.

C-c C-r

Вызывает sgml-tag-region. Выделите некоторый текст (переместитесь на начало текста, нажмите C-пробел, перейдите в конец текста, нажмите C-пробел), и вызовите эту команду. Вам будет задан вопрос об используемом элементе. Этот элемент затем будет вставлен непосредственно перед и после отмеченной вами области.

C-c -

Вызывает sgml-untag-element. Поместите указатель между начальной и конечной меткой элемента, который вы хотите удалить, и запустите эту команду. Начальная и конечная метки элемента будут удалены.

C-c C-q

Вызывает sgml-fill-element. Рекурсивно заполняет (то есть переформатирует) содержимое, начиная от текущего элемента. Заполнение будет затрагивать содержимое, для которого важны пробелы, такое, как внутри элементов <programlisting>, так что запускайте эту команду с осторожностью.

C-c C-a

Вызывает sgml-edit-attributes. Открывает второй буфер, содержащий список всех атрибутов для ближайшего закрывающего элемента и их текущие значения. Используйте TAB для перемещения между атрибутами, C-k для удаления существующего значения и замены его новым, C-c для закрытия этого буфера и возврата к основному документу.

C-c C-v

Вызывает sgml-validate. Выдает запрос на подтверждение сохранения текущего документа (если это нужно), а затем запускает проверку SGML. Выдача проверяющего процесса передается в новый буфер, и вы затем можете переходить от одной проблемной точки к другой, исправляя при этом ошибки разметки.

Несомненно, что в этом режиме имеются и другие полезные функции, но здесь отмечены те, что я использую чаще всего.

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

    (setq sgml-mode-hook
      '(lambda ()
     (setq fill-column 70
           indent-tabs-mode nil
           next-line-add-newlines nil
           standard-indent 2)
     (auto-fill-mode t)))
 

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.