Последние версии Emacs или Xemacs (которые доступны из коллекции портов) содержат очень полезный пакет под названием PSGML. Автоматически вызываемый при загрузке файла с расширением .sgml или при наборе команды M-x sgml-mode, он является основным режимом для работы с файлами SGML, элементами и атрибутами.
Понимание некоторых команд, которые доступны в этом режиме, может значительно облегчить работу с документами SGML, такими, как Руководство.
Вызывает sgml-insert-element. Вам будет задан вопрос об имени элемента для вставки в текущую позицию. Вы можете использовать клавишу TAB для дополнения имени элемента. Элементы, использование которых запрещено в текущей позиции, будут недоступны.
Будут вставлены начало и конец метки элемента. Если элемент содержит другие, обязательные элементы, то они тоже будут вставлены.
Вызывает sgml-change-element-name. Поместите указатель внутри элемента и вызовите эту команду. Вам будет задан вопрос о новом имени элемента. Как начальная, так и конечная метки текущего элемента будут изменены на новые.
Вызывает sgml-tag-region. Выделите некоторый текст (переместитесь на начало текста, нажмите C-пробел, перейдите в конец текста, нажмите C-пробел), и вызовите эту команду. Вам будет задан вопрос об используемом элементе. Этот элемент затем будет вставлен непосредственно перед и после отмеченной вами области.
Вызывает sgml-untag-element. Поместите указатель между начальной и конечной меткой элемента, который вы хотите удалить, и запустите эту команду. Начальная и конечная метки элемента будут удалены.
Вызывает sgml-fill-element. Рекурсивно заполняет (то есть переформатирует) содержимое, начиная от текущего элемента. Заполнение будет затрагивать содержимое, для которого важны пробелы, такое, как внутри элементов <programlisting>, так что запускайте эту команду с осторожностью.
Вызывает sgml-edit-attributes. Открывает второй буфер, содержащий список всех атрибутов для ближайшего закрывающего элемента и их текущие значения. Используйте TAB для перемещения между атрибутами, C-k для удаления существующего значения и замены его новым, C-c для закрытия этого буфера и возврата к основному документу.
Вызывает 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>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.