GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Paragraphs.html ・ emacs-doc.conao3.com

27.3 段落

段落を操作するEmacsコマンドも、Metaキーに割り当てられています。

M-{

直前の段落の冒頭 (backward-paragraph) に戻る。

M-}

次の段落末 (forward-paragraph) へ移動する。

M-h

この段落または次の段落の前後にポイントとマークを付けてください (mark-paragraph)。

M-{ (backward-paragraph) は、コマンド実行時のポイントの位置に応じて、現在の段落または直前の段落の先頭に移動します(段落の定義については後述)。M-} (forward-paragraph) も同様に、現在の段落または次の段落の末尾に移動します。段落の前に空行がある場合、M-{ はその空行に移動します。

段落に対して操作を行いたい場合は、M-h (mark-paragraph) と入力してその周囲のリージョンを設定します。例えば、M-h C-w はポイントの周囲または後続の段落を消去します。M-h は、ポイントをその段落の先頭に、マークを段落の末尾に配置します。ポイントが段落間(空行の連なりの中、または境界上)にある場合、M-h はポイントの後続の段落の周囲のリージョンを設定します。段落の1行目の前に空行がある場合、それらの空行のうちの1行がリージョンに含まれます。すでにリージョンがアクティブな場合、このコマンドはポイントを移動させずにマークを設定し、その後の M-h ごとにマークをさらに1段落分進めます。

段落の定義は、メジャーモードによって異なります。Fundamentalモードのほか、Textモードおよび関連モードでは、段落は1つ以上の空行—空であるか、あるいはスペース、タブ、および/またはフォームフィード文字のみで構成される行—によって、隣接する段落と区切られます。プログラミング言語モードにおいても、通常は同様の方法で段落が定義されており、プログラム内にいわゆる段落が存在しない場合でも、段落コマンドを使用できるようになっています。

なお、テキストモードでは、インデントされた行自体は段落区切りにはなりません。インデントされた行で段落を区切りたい場合は、代わりに「段落インデントテキスト」モードを使用してください。テキストモードを参照してください。

フィルプレフィックスを設定すると、フィルプレフィックスで始まらないすべての行によって段落が区切られます。テキストの塗りつぶしを参照してください。

段落境界の厳密な定義は、変数 paragraph-separate と paragraph-start によって制御されます。paragraph-start の値は正規表現であり、段落の開始または区切りとなる行に一致する必要があります(正規表現の構文を参照)。paragraph-separate の値は別の正規表現であり、いずれの段落にも属さず段落を区切る行(例えば空行)に一致する必要があります。新しい段落を開始し、その段落に含まれる行は、paragraph-separate ではなく paragraph-start にのみ一致する必要があります。例えば、Fundamental モードでは、paragraph-start は "\f\\|[ \t]*$" であり、paragraph-separate は "[ \t\f]*$" となります。

なお、paragraph-start と paragraph-separate は左マージンのテキストにマッチしますが、このテキストは必ずしも行頭であるとは限りません。そのため、マージン設定によってインデントされたテキスト領域内でも段落機能が同様に動作するよう、これらの正規表現ではアンカーとして ‘^’ を使用すべきではありません。