パラグラフ(段落)を操作するEmacsコマンドもMetaキーに割り当てられています。
前のパラグラフの先頭に、後方へ移動します(backward-paragraph
)。
次のパラグラフの最後に、前方へ移動します(forward-paragraph
)。
そのパラグラフ、または次のパラグラフの周囲にポイントとマークを配します(mark-paragraph
)。
M-{
(backward-paragraph
)は、カレントのパラグラフ、または前のパラグラフの先頭に移動します(呼び出し時にポイントがある場所に依存する。パラグラフの定義は以下を参照)。同様に、M-}
(forward-paragraph
)は、カレントのパラグラフ、または次のパラグラフの最後に移動します。パラグラフの前に空行がある場合、M-{はその空行に移動します。
パラグラフにたいして操作をしたい場合、M-h
(mark-paragraph
)とタイプすることにより、パラグラフの周囲にリージョンがセットされます。たとえばM-h
C-wは、パラグラフの周囲またはポイントの後ろをkillします。M-hは、ポイント位置のパラグラフの先頭にポイントを、最後にマークを配します。ポイントがパラグラフの間(連続する空行の中、または境界)にある場合、M-hはポイントの後ろに続くパラグラフの周囲にリージョンをセットします。パラグラフの最初の行の前に空行がある場合、その空行はリージョンに含まれます。
リージョンがすでにアクティブの場合、このコマンドはポイントを変更せずにマークをセットします。連続するM-hは、マークをパラグラフ単位で先にセットします。
パラグラフの定義はメジャーモードに依存します。Fundamentalモード、同様にTextモードとそれに関連するモードでは、パラグラフと、その隣接するパラグラフを分けるのは1行以上の空行 — 空の行、スペースとタブだけからなる行、およびそれらに改ページ文字がついた行 — です。プログラミング言語に関するモードでは、通常パラグラフは同じような方法で定義されるので、パラグラフがないプログラムなどにたいしても、パラグラフのコマンドを使うことができます。
Textモードでは、インデントされた行自体では、パラグラフの区切りにはならないことに注意してください。インデントされた行をパラグラフの分割に使用したい場合は、かわりにParagraph-Indent Textモードを使用します。Textモードを参照してください。
フィルプレフィクスをセットしている場合、フィルプレフィクスで始まっていないすべての行は、パラグラフの区切りとなります。テキストのフィルを参照してください。
パラグラフ境界の正確な定義は、変数paragraph-separate
およびparagraph-start
により制御されます。paragraph-start
の値には、パラグラフを開始または分割する行にマッチする正規表現を指定します。paragraph-separate
の値には、パラグラフの一部とならないような、パラグラフを分割する行にマッチする正規表現を指定します。新しいパラグラフを開始するパラグラフに含まれる行は、paragraph-start
にはマッチしますが、paragraph-separate
にはマッチしません。たとえばFundamentalモードでは、paragraph-start
は"\f\\|[ \t]*$"
、paragraph-separate
は"[ \t\f]*$"
です。
paragraph-start
とparagraph-separate
はテキストの左マージンにマッチしますが、行頭である必要はないので、パラグラフ関数がマージンのセッティングに応じてテキストリージョン内で同じように確実に機能させるために、これらのregexpに‘^’を使用するべきでないことに注意してください。