Next: , Previous: , Up: Text   [Contents][Index]


25.12 SGMLモードとHTMLモード

SGMLおよびHTMLのためのメジャーモードは、インデントのサポートとタグを操作するコマンドを提供します。

HTMLは2つのモードから構成されます — 1つ目はhtml-modeと呼ばれる基本的なモードで、これは若干カスタマイズされたSGMLモードの変種です。もう1つはデフォルトでHTMLファイルに使用されるものでmhtml-modeモードと呼ばれ、<script>要素で囲まれたJavascript、および<style>要素内に埋め込まれたCSSを正しく処理することを意図しています。

C-c C-n

対話的に特殊文字を指定して、その文字に対応するSGMLの‘&’コマンドを挿入します(sgml-name-char)。

C-c C-t

対話的にタグとタグの属性を指定します(sgml-tag)。このコマンドはタグ名と属性値を尋ね、開始タグと終了タグの両方を挿入し、ポイントをその間に置きます。

プレフィクス引数nを指定すると、このコマンドはバッファーのポイントの後ろにあるn個の単語の周囲にタグを配します。リージョンがアクティブなときは、タグをリージョンの周辺に配します(Transient Markモードがオフのときは、引数に-1を与えることにより、これを行います)。

C-c C-a

対話的にカレントタグの属性値を挿入します(sgml-attributes)。

C-c C-f

対応の取れたタグのグループ(開始タグと対応する終了タグまでの範囲)をスキップします(sgml-skip-tag-forward)。数引数は繰り返し回数として振る舞います。

C-c C-b

対応の取れたタグのグループ(開始タグと対応する終了タグまでの範囲)を後方にスキップします(sgml-skip-tag-backward)。数引数は繰り返し回数として振る舞います。

C-c C-d

ポイント位置またはポイントの後ろのタグを削除し、それに対応するタグも削除します(sgml-delete-tag)。ポイントの後のタグが開始タグの場合は、終了タグも削除します。終了タグの場合は、開始タグも削除します。

C-c ? tag RET

タグtagの意味の説明を表示します(sgml-tag-help)。引数tagが空のときは、ポイント位置のタグを説明します。

C-c /

一番内側の終了されていないタグの終了タグを挿入します(sgml-close-tag)。タグまたはコメントの中で呼び出されたときは、終了タグを挿入するかわりにそれを終了させます。

C-c 8

挿入したLatin-1文字を、その文字自身ではなく、その文字を表すSGMLコマンドを挿入するマイナーモードを切り替えます(sgml-name-8bit-mode)。

C-c C-v

カレントバッファーをSGMLとして評価するシェルコマンド(要指定)を実行します(sgml-validate)。(HTMLモードでは、このキーシーケンスは違うコマンドを実行する。)

C-c TAB

バッファーの既存のタグの可視・不可視を切り替えます。これは簡単なプレビューとして使用できます(sgml-tags-invisible)。

XMLドキュメントを編集するためのメジャーモードはnXMLモードと呼ばれます。このモードは多くの既存のXMLスキーマを認識することができ、M-TABを通じてXMLエレメントの補完、同様にエラーをハイライトするオンザフライ(on-the-fly)なXMLの妥当性検証を提供します。既存のバッファーでnXMLモードを有効にするには、M-x nxml-modeとタイプするか、M-x xml-modeとタイプしても同じです。Emacsは.xmlという拡張子をもつファイルにたいしてnXMLモードを使用します。.xhtmlという拡張子をもつXHTMLファイルにたいしては、デフォルトでEmacsはHTMLモードを使用します。変数auto-mode-alistをカスタマイズすることによりnXMLモードを使用させることができます(Choosing Modesを参照してください)。 nXMLモードについては、Emacsとともに配布されているInfoマニュアルで説明されています。

XMLはSGMLの厳格なサブセットなので、XMLを編集するのに、それほど強力ではないSGMLモードの使用を選択することもできます。既存のバッファーでSGMLモードを有効にするには、M-x sgml-modeとタイプします。SGMLを有効にするとき、EmacsはバッファーがXMLかどうかを検証します。もしXMLの場合、変数sgml-xml-modeに非nil値をセットします。これにより上述したSGMLモードのタグ挿入コマンドは、常に明示的に終了タグを挿入するようになります。