Emacsのコマンドにはすべて数引数を与えることができます.コマンドによっ
ては引数を繰り返し回数と解釈します.たとえば10の引数をC-fキー
(forward-char
のコマンドで,カーソルを1文字分進める)に与えるとカー
ソルは10文字進みます.この種のコマンドでは引数を与えなければ,引数1を与
えたと解釈します.負の引数も許されています.この場合は,逆の方向に機能す
るのが普通です.
端末のキーボードにMETAキーがある場合は,METAキーを押しなが ら数字やマイナス記号を入力して引数を入力する方が簡単です.たとえば,
M-5 C-n
のコマンドはカーソルを5行下げます.Meta-1,Meta-2,
Meta--などの文字が数引数を与えるのに利用できます.これらのキーは,
あとに続くコマンドに引数を与えるように定義されているコマンド
(digit-argument
,negative-argument
)に割り当てられています.
引数を設定するには,C-u(universal-argument
)コマンドの後ろ
に数字を入力する方法もあります.この場合,数字を入力するのにシフトキーを
押す必要はありません.負の引数を入力するには,まずマイナス記号を入力しま
す.マイナス記号だけのときは,-1の意味です.C-uコマンドはす
べての端末で使用できます.
C-uの後ろに数字でもマイナス記号でもない文字を入力すると,"4倍す る"という特別の意味になります.この場合,続くコマンドの引数は4倍になり ます.C-uを2回入力すると16倍になります.たとえば,C-u C-u C-fコマンドはカーソルを順方向に16文字分移動させます.16文字は普通の画面 では約1/5行に相当しますから,カーソルを速く動かすのに便利です.他に便利 な組合せとしては,C-u C-n,C-u C-u C-n(画面のかなり下方まで 移動させる),C-u C-u C-o(空白行を多く作る),C-u C-k(4行削除 する)などがあります.
コマンドによっては引数の数値そのものではなく,引数の有無のみが問題にな
るものもあります.たとえば,M-q(fill-paragraph
)コマンドは引
数がない場合は,テキストの詰め込みだけを行ないますが,引数のある場合は,
さらにテキストの右揃えをします(M-qについて詳しくは,
See section テキストの詰め込み).これらのコマンドにはC-uだけで簡単に引数を与えられ
ます.
またコマンドによって,引数は繰り返し回数などですが,引数なしの場合に特
別の動作を行なうものがあります.たとえば,引数nのある
C-k(kill-line
)は行末の改行文字も含めてn行を削除します.
引数がない場合は,特別な動作となり,次の改行文字までのテキストを削除する
か,あるいはポイントが行末の右にあれば改行文字を削除します.つまり,引数
のないC-kのコマンドを2回行なえば,引数1のあるC-kコマンドと同
様に,空白でない行を1行だけ削除します.(C-kについて詳しくは,
See section 消去と削除)
一部のコマンドではC-uだけが入力されると普通の引数とは違った動作 が行なわれます.またマイナス記号だけの引数が-1の引数と異なるコマ ンドもあります.これらの例外は必要に応じて説明していきますが,それぞれの コマンドを使いやすくするためのものです.