Emacsは、単語単位で移動するコマンドをいくつか定義しています:
1単語前方に移動します(forward-word
)。
1単語後方に移動します(backward-word
)。
単語の最後までkillします(kill-word
)。
単語の先頭までkillします(backward-kill-word
)。
次の単語の最後にマークをセットします(mark-word
)。
2つの単語を入れ替える、または他の単語を飛び越えて単語をドラッグします(transpose-words
)。
これらのキーは文字単位のコマンドC-f、C-b、C-d、DEL、C-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-dはM-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コマンドについては、カーソル位置の情報を参照してください。