Next: , Previous: Sentences, Up: Text


19.3 段落

段落を操作するEmacsコマンドもメタキーです。

M-{
まえの段落の先頭にポイントを後向きに移動する(backward-paragraph)。
M-}
つぎの段落の末尾にポイントを前向きに移動する(forward-paragraph)。
M-h
ポイントを含む段落かつぎの段落の周りにポイントとマークを置く (mark-paragraph)。

M-{は、ポイントを含む段落の先頭か、 まえの段落の先頭にポイントを移動します。 一方、M-}は、ポイントを含む段落の末尾か、 つぎの段落の末尾にポイントを移動します。 段落は、空行やテキスト整形コマンドの行で区切られますが、 それらの行自体は段落には属しません。 基本(fundamental)モードでは、 字下げした行も新たな段落の始まりとみなしますが、 テキスト(text)モードではそうしません。 (段落の直前に空行があれば、 これらのコマンドはそれらを段落の先頭として扱う。)

プログラム用のメジャーモードでは、段落は空行で始まり空行で終ります。 こうしておけば、本来段落を持たないプログラムでも 段落操作コマンドが役立ちます。

詰め込み接頭辞がある場合には、接頭辞で始まらない行が段落の区切りとなります。 See Filling

段落を対象に操作したいときには、 コマンドM-hmark-paragraph)を使って 段落を囲むようなリージョンを設定します。 したがって、たとえば、M-h C-wとすると、 ポイントを含むか直後の段落を削除します。 M-hコマンドは、ポイントを含む段落の先頭にポイントを置き、 末尾にマークを設定します。 暫定マーク(transient-mark)モードでは、このマークを活性にします。 ポイントが段落のあいだ(空行や境界)にある場合は、 ポイントの直後にある段落の周りにポイントとマークを設定します。 段落の1行目のまえに空行があれば、 直前の空行1行もM-hが設定するリージョンに含まれます。

正確な段落の境界は、変数paragraph-separateparagraph-startで定義されます。 paragraph-startの値は、 段落を始めたり区切ったりする行に一致する正規表現です。 paragraph-separateの値も別の正規表現ですが、 どの段落にも属さない段落を分割する行(たとえば空行)だけに一致するものです。 新たな段落を始めてその段落に属す行は、paragraph-startだけに一致して、 paragraph-separateに一致してはいけません。 たとえば、基本(fundamental)モードでは、 paragraph-start"[ \t\n\f]"であり、 paragraph-separate"[ \t\f]*$"です。

通常、ページ境界でも段落が区切られるのが望ましいです。 これらの変数のデフォルト値は、ページの一般的な区切り文字も認識します。