センテンス(文)とパラグラフ(段落)を操作するEmacsコマンドは、単語を処理するコマンドと同様、ほとんどがMetaキーに割り当てられています。
センテンスの先頭に、後方へ移動します(backward-sentence
)。
センテンスの最後に、前方へ移動します(forward-sentence
)。
センテンスの最後まで、前方にkillします(kill-sentence
)。
センテンスの最初まで、後方にkillします(backward-kill-sentence
)。
コマンドM-a (backward-sentence
)およびM-e
(forward-sentence
)は、センテンスの先頭または最後に移動します。これらのコマンドのバインディングは、行の先頭と最後に移動するC-aとC-eに似せて選ばれました。似ていない点は、M-aまたはM-eを繰り返すと、センテンス単位で連続して移動することです。
センテンスにたいして後方に移動すると、ポイントはセンテンスの最初の文字の直前に移動します。前方に移動したときは、センテンスを終了させる区切り文字の直後に移動します。どちらもセンテンスの境界にある空白文字にポイントを移動することはありません。
C-aとC-eがkillコマンドC-kをもつように、M-aとM-eにも対応するkillコマンドがあります。M-k
(kill-sentence
)は、ポイントからセンテンスの最後までをkillします。正の数引数nを指定すると、次のnセンテンスをkillします。負の数引数−nを指定すると、後方にn番目のセンテンスの先頭までをkillします。
C-x DEL (backward-kill-sentence
)は、センテンスの先頭までを後方にkillします。
センテンスのコマンドは、センテンスの最後に2つのスペースを置くというAmericanのタイピストの慣習に、ユーザーが従うと仮定します。つまりセンテンスの最後は‘.’、‘?’、‘!’の後ろに改行または2つのスペースがあると仮定し、その間に任意の個数の‘)’、‘]’、‘'’、‘"’が許されます。パラグラフの先頭および最後は、センテンスの先頭および最後でもあります。この慣習にしたがうことにより、Emacsのセンテンスにたいするコマンドがセンテンスの最後のピリオドと、省略形を示すピリオドを区別できるので便利になります。
センテンスの間を1つのスペースにしたい場合は、sentence-end-double-space
をnil
にセットすることにより、センテンスのコマンドが1つのスペースで止まるようになります。しかし、これにはセンテンスの終わりのピリオドと、省略形を示すピリオドを区別できなくなるという欠点があります。したがって便利で信頼できる編集のために、2つのスペースの慣習にしたがうことを推奨します。変数sentence-end-double-space
はフィルにも影響します(明示的なフィルコマンドを参照してください)。
変数sentence-end
は、センテンスの終了を認識する方法を制御します。非nil
の場合、その値は正規表現にすべきで、それはセンテンスの最後の数文字(センテンスの後ろのスペースも含む)とのマッチに使用されます。値がnil
(デフォルト)の場合、Emacsはsentence-end-double-space
の値のような、変数条件に照らしてセンテンスの最後を計算します。
Thaiのようないくつかの言語は、センテンスの最後を示すのにピリオドを使用しません。そのような場合は変数sentence-end-without-period
にt
をセットします。
上記のセンテンス単位の移動コマンドは人間用の言語にもとづいたコマンドですが、同様の機能を得るために他のEmacsモードでもこれらのコマンドウルフセットできます(センテンスの移動を参照)。