Next: , Up: 人間の言語のためのコマンド   [Contents][Index]


25.1 単語

Emacsは、単語単位で移動するコマンドをいくつか定義しています:

M-f

1単語前方に移動します(forward-word)。

M-b

1単語後方に移動します(backward-word)。

M-d

単語の最後までkillします(kill-word)。

M-DEL

単語の先頭までkillします(backward-kill-word)。

M-@

次の単語の最後にマークをセットします(mark-word)。

M-t

2つの単語を入れ替える、または他の単語を飛び越えて単語をドラッグします(transpose-words)。

これらのキーは文字単位のコマンドC-fC-bC-dDELC-tに類似していることに注目してください。M-@C-@(これはC-SPCの別名です)が由来です。

コマンドM-f (forward-word)およびM-b (backward-word)は、単語単位で前方または後方に移動します。これらのMetaベースのキーシーケンスは、1文字単位で移動するキーシーケンスC-fおよびC-bに類似しています。類似点は数引数にも拡張されます。これらは繰り返し回数を指定します。M-fに負の引数を与えると後方に移動し、M-bに負の引数を与えると前方に移動します。前方への移動は単語の最後の文字の直後で停止し、後方への移動は、最初の文字の直前で停止します。

M-d (kill-word)は、ポイントの後ろの単語をkillします。正確に言うと、ポイントから、M-fで移動する位置までのすべてをkillします。したがってポイントが単語の途中にある場合、M-dはポイントの後だけをkillします。ポイントと次の単語の間に区切り文字がある場合、それは単語と一緒にkillされます(次の単語だけをkillして、その前にある区切り文字はkillしたくないときは、M-fで最後まで移動して、M-DELで単語を後方にkillします)。M-dM-fと同様の引数を取ります。

M-DEL (backward-kill-word)は、ポイントの前の単語をkillします。これはポイントから、M-bで移動する位置までのすべてをkillします。たとえばポイントが‘FOO, BARのスペースの後ろにある場合、これは‘FOO, をkillします。‘FOO’だけをkillして、カンマとスペースは残したい場合は、M-DELのかわりにM-b M-dを使用します。

M-t (transpose-words)は、ポイントの前またはポイントを含む単語を、次の単語と交換します。単語間の区切り文字は移動されません。たとえば‘FOO, BARは、‘BAR FOO,’ではなく、‘BAR, FOOに入れ替えられます。入れ替えについては、テキストの入れ替えを参照してください。

リージョンにたいして操作を行う際、単語単位で操作したいときは、コマンドM-@ (mark-word)を使用します。このコマンドはM-fで移動する位置にマークをセットします。このコマンドにつての詳しい詳細は、テキストオブジェクトをマークするコマンドを参照してください。

単語にたいするコマンドが理解する単語境界は、構文テーブル(syntax table)で制御されます。単語の区切り文字に、(たとえば)任意の文字を使うことができます。Syntax Tables in The Emacs Lisp Reference Manualを参照してください。

以上に加えて、リージョンまたはバッファーに含まれる単語数のカウントとリポートを行うM-= (count-words-region)およびM-x count-wordsコマンドについては、カーソル位置の情報を参照してください。