psgml-mode の使い方
- 2018.03.31
- NetBSD

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の挿入