次: , 上: Text


19.1 単語

Emacsには、単語を横断してポイントを移動したり、 単語を操作対象とするコマンドがあります。 慣例として、これらのコマンドのキーはメタ文字です。

M-f
単語を横断してポイントを前向きに移動する(forward-word)。
M-b
単語を横断してポイントを後向きに移動する(backward-word)。
M-d
ポイント位置から単語の末尾までをキルする(kill-word)。
M-<DEL>
ポイント位置から単語の先頭までを後向きにキルする (backward-kill-word)。
M-@
つぎの単語の末尾にマークを設定する(mark-word)。
M-t
隣接した2つの単語を入れ替える。 あるいは、単語を複数の単語を飛び越して移す。 (transpose-words)。

これらのキーは、文字単位の操作コマンド、C-fC-bC-d、<DEL>、C-tに対応していることに注目してください。 M-@も、C-<SPC>の別名であるC-@に対応しています。

コマンドM-fforward-word)と M-bbackward-word)は、 単語を横断してポイントを前向きに(末尾に向かって) あるいは後向きに(先頭に向かって)移動します。 これらのメタ文字は、文字単位でポイントを前後に移動する コントロール文字C-fC-bに類似しています。 この類似性は、数引数を反復回数として扱うことにもおよびます。 負の引数を指定すると、M-fは後向きに移動し、 M-bは前向きに移動します。 前向き移動では単語の最後の文字の直後に、 後向き移動では最初の文字の直前に、ポイントを移動します。 1

M-dkill-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-ttranspose-words)は、 ポイントの直前にある単語あるいはポイントを含む単語と、 後続の単語とを入れ替えます。 単語のあいだにある区切り文字は動きせん。 たとえば、`FOO, BAR'を入れ替えると、 `BAR FOO,'ではなく`BAR, FOO'となります。 入れ替えや入れ替えコマンドの引数については、 See Transpose

ポイントとマークのあいだに適用される操作を後続のn個の単語に適用する方法は、 2つあります。 ポイント位置にマークを設定してから、単語を横断してポイントを移動します。 あるいは、コマンドM-@mark-word)を使います。 このコマンドは、ポイントを移動せずに、 M-fによる移動位置にマークを設定します。 M-@には、何単語先にマークを設定するかを数引数で指定できます。 暫定マーク(transient-mark)モードでは、このコマンドはマークを活性にします。

単語操作コマンドが理解する構文は、すべて構文テーブルで制御されます。 たとえば、任意の文字を単語の区切り文字として宣言できます。 See Syntax


脚注

[1] 【訳注】なお、移動方向に単語構成文字がない場合には、 それらを飛び越えてポイントを移動します。