Outlineモードではバッファ中の行には2種類あると仮定します.それらは 見出し行(Heading Line)と,本体行(Body Line)です.見出し行はアウト ラインの表題を表しています.見出し行は1つ以上の星印で始まります.星印の 数はアウトラインの構造の中での表題の深さを決定します.つまり星印1つの見 出し行は主トピックで,ここから次の星1つの見出しの間に書かれた星2つの見出 し行が副トピックです.本体行はその前の見出し行に属しています.次に例を示 します.
* 食べ物 ここは本体行で, 食べ物というトピックについて述べています. ** おいしい食べ物 ここは副トピックの本体です. ** まずい食べもの ここも副トピックの本体です. 何行書いてもかまいません. *** 寮の食べもの * シェルター 2つ目の主トピックです.
見出し行とそのあとの本体をまとめてエントリーと呼びます.見出し行 と,それよりあとでより深いレベルの見出し行とその本体をまとめて サブツリーと呼びます.
見出し行を区別する基準をカスタム化することができます.これには変数
outline-regexp
を設定します.行の先頭がこの正規表現とマッチすれば,
その行は見出し行として扱われます.行の途中でマッチしても見出し行にはなり
ません.マッチしたテキストの長さがその見出しのレベルを決めます.長いもの
が深いレベルになります.たとえば,あるテキストフォーマッタに
`@chapter',`@section',`@subsection'というコマンドが
あって,これがテキストを章と節に分けるとき,これらを見出し行として扱うな
ら,outline-regexp
を`"@chap\\|@\\(sub\\)*section"'に設定し
ます.トリックの説明:`chapter'と`section'という語は同じ長さで
す.しかし設定した正規表現は`chap'だけにマッチしますから,確かに章
の見出しにマッチするテキストの方が短くなります.よってOutlineモードでは
節が章に含まれることがわかります.これは`@chap'で始まるものが他に
ないときに使えます.
Outlineモードは,かい行文字をASCIIのControl-M (コード015)に変えて,そ の次の行をかくします.行を扱うほとんどのコマンドは,かくれた行をその前の 見えている行の一部分であるとみなします.正確には,かくれた行はすでにその 前の行の一部です.それら2つの行の間にはもう改行文字が存在しません. Outlineモードでファイルをセーブするときには,Control-M文字を改行文字にし てセーブします.よってかくれた行もファイルの中では普通の行になります.し かし,セーブしてもEmacsの表示状態は変わりません.