backward-paragraph
)。
forward-paragraph
)。
mark-paragraph
)。
M-{は、ポイントを含む段落の先頭か、 まえの段落の先頭にポイントを移動します。 一方、M-}は、ポイントを含む段落の末尾か、 つぎの段落の末尾にポイントを移動します。 段落は、空行やテキスト整形コマンドの行で区切られますが、 それらの行自体は段落には属しません。 基本(fundamental)モードでは、 字下げした行も新たな段落の始まりとみなしますが、 テキスト(text)モードではそうしません。 (段落の直前に空行があれば、 これらのコマンドはそれらを段落の先頭として扱う。)
プログラム用のメジャーモードでは、段落は空行で始まり空行で終ります。 こうしておけば、本来段落を持たないプログラムでも 段落操作コマンドが役立ちます。
詰め込み接頭辞がある場合には、接頭辞で始まらない行が段落の区切りとなります。 See Filling。
段落を対象に操作したいときには、
コマンドM-h(mark-paragraph
)を使って
段落を囲むようなリージョンを設定します。
したがって、たとえば、M-h C-wとすると、
ポイントを含むか直後の段落を削除します。
M-hコマンドは、ポイントを含む段落の先頭にポイントを置き、
末尾にマークを設定します。
暫定マーク(transient-mark)モードでは、このマークを活性にします。
ポイントが段落のあいだ(空行や境界)にある場合は、
ポイントの直後にある段落の周りにポイントとマークを設定します。
段落の1行目のまえに空行があれば、
直前の空行1行もM-hが設定するリージョンに含まれます。
正確な段落の境界は、変数paragraph-separate
と
paragraph-start
で定義されます。
paragraph-start
の値は、
段落を始めたり区切ったりする行に一致する正規表現です。
paragraph-separate
の値も別の正規表現ですが、
どの段落にも属さない段落を分割する行(たとえば空行)だけに一致するものです。
新たな段落を始めてその段落に属す行は、paragraph-start
だけに一致して、
paragraph-separate
に一致してはいけません。
たとえば、基本(fundamental)モードでは、
paragraph-start
は"[
\t
\n
\f]"
であり、
paragraph-separate
は"[
\t
\f]*$"
です。
通常、ページ境界でも段落が区切られるのが望ましいです。 これらの変数のデフォルト値は、ページの一般的な区切り文字も認識します。