Emacsには、単語を横断してポイントを移動したり、 単語を操作対象とするコマンドがあります。 慣例として、これらのコマンドのキーはメタ文字です。
forward-word
)。
backward-word
)。
kill-word
)。
backward-kill-word
)。
mark-word
)。
transpose-words
)。
これらのキーは、文字単位の操作コマンド、C-f、C-b、 C-d、<DEL>、C-tに対応していることに注目してください。 M-@も、C-<SPC>の別名であるC-@に対応しています。
コマンドM-f(forward-word
)と
M-b(backward-word
)は、
単語を横断してポイントを前向きに(末尾に向かって)
あるいは後向きに(先頭に向かって)移動します。
これらのメタ文字は、文字単位でポイントを前後に移動する
コントロール文字C-fやC-bに類似しています。
この類似性は、数引数を反復回数として扱うことにもおよびます。
負の引数を指定すると、M-fは後向きに移動し、
M-bは前向きに移動します。
前向き移動では単語の最後の文字の直後に、
後向き移動では最初の文字の直前に、ポイントを移動します。
1
M-d(kill-word
)はポイントの直後の単語をキルします。
正確にいえば、ポイント位置からM-fによる移動位置までの全文字をキルします。
ポイントが単語の途中にあれば、ポイントよりあとの部分だけをキルします。
また、ポイントとつぎの単語のあいだに句読点があれば、
単語と一緒にそれらもキルします。
(つぎの単語だけをキルしてそのまえにある句読点を残したければ、
M-fでつぎの単語の末尾に移動してから、
M-<DEL>でその単語を後向きにキルする。)
M-dは、引数をM-fと同様に解釈します。
M-<DEL>(backward-kill-word
)は、
ポイントの直前の単語をキルします。
ポイント位置からM-bによる移動位置までの全文字をキルします。
ポイントが‘FOO, BAR’の空白の直後にあるとすれば、
‘FOO, ’をキルします。
(‘FOO’だけをキルしてコンマと空白を残したければ、
M-<DEL>のかわりにM-b M-dを使う。)
M-t(transpose-words
)は、
ポイントの直前にある単語あるいはポイントを含む単語と、
後続の単語とを入れ替えます。
単語のあいだにある区切り文字は動きせん。
たとえば、‘FOO, BAR’を入れ替えると、
‘BAR FOO,’ではなく‘BAR, FOO’となります。
入れ替えや入れ替えコマンドの引数については、
See Transpose。
ポイントとマークのあいだに適用される操作を後続のn個の単語に適用する方法は、
2つあります。
ポイント位置にマークを設定してから、単語を横断してポイントを移動します。
あるいは、コマンドM-@(mark-word
)を使います。
このコマンドは、ポイントを移動せずに、
M-fによる移動位置にマークを設定します。
M-@には、何単語先にマークを設定するかを数引数で指定できます。
暫定マーク(transient-mark)モードでは、このコマンドはマークを活性にします。
単語操作コマンドが理解する構文は、すべて構文テーブルで制御されます。 たとえば、任意の文字を単語の区切り文字として宣言できます。 See Syntax。