psgml-mode の使い方

psgml-mode の使い方

HTML の文書を作成するのに、 Emacs の psgml-mode が便利です。 psgml-mode は宣言された DOCTYPE の構文に従ってタグを挿入してくれます。 HTML の DOCTYPE を宣言すれば、その DTD (Document Type Definition) に従って HTML 文書を作成できます。

NetBSD の pkgsrc からインストールする場合は、textproc/psgml-mode からインストールできます。

DTD (Document Type Definition) の準備

HTML 4.01 の DTD を利用する場合は、http://www.w3.org/TR/html4/ から

strict.dtd
loose.dtd
frameset.dtd
HTML4.decl
HTMLspecial.ent
HTMLsymbol.ent
HTMLlat1.ent
HTML4.cat

をダウンロードして、~/lib/DTD/ においておきます。

.emacs の設定

.emacs には以下のように設定します。

(autoload 'sgml-mode "psgml" "Major mode to edit SGML files" t)
(setq sgml-custom-dtd '(
	("HTML 4.01" "")))
(setq auto-mode-alist
      (append '(
	("\\.html" . sgml-mode))
     auto-mode-alist))
(setq sgml-catalog-files '("CATALOG" "~/lib/DTD/HTML4.cat"))
(setq sgml-auto-activate-dtd t)
(setq sgml-omittag-transparent t)
(setq sgml-balanced-tag-edit t)
(setq sgml-auto-insert-required-elements t)
(setq sgml-live-element-indicator t)
(setq sgml-indent-step nil)

XHTML で編集する場合は、sgml-mode ではなく xml-mode で psgml を使うようにします。

(autoload 'xml-mode "psgml" "Major mode to edit XML files" t)

psgml-mode のキーバインド

psgml-mode でよく使うコマンドのキーバインドです。

C-c C-e: タグの挿入 (startとend)
C-c C-r: リージョンをはさんでタグを挿入 (startとend)
C-c +: 属性の挿入 (href など)
C-c /: endタグの挿入
C-c C-u C-d: DOCTYPEの挿入