2003-09-23

xyzzyのコマンド入力

xyzzyを初めて利用するユーザの中には、C-文字 とか M-文字 というコマンド入力の方法に混乱して挫折してしまう人も存在することだと思います。と、いうことで簡単に説明してみることに・・・。

xyzzyのコマンド入力の超基本

xyzzyのコマンド入力(キーバインド)には、コントロールキーやメタキーを使用します。

  • C-文字 とあれば、コントロールキー(Ctrlなどの表記)を押したまま文字キーを押します。例えば、C-fは、コントロールキーを押したままfキーを押すことを表します。
  • M-文字 とあれば、メタキー(MetaとかAltなどの表記)を押したまま文字キーを押します。例えば、M-fは、メタキーを押したままfキーを押すことを表します。また、メタキーの替わりにエスケープキー(ESC)を押してから文字キーを入力することもできます。

これらのコマンドはそれぞれ、Control, Meta の頭文字を意味しているのです。

それでは実際に、xyzzyの基本的な操作に触れてみましょう。

xyzzyに表示された内容が画面(バッファ)に収まりきれない場合には、スクロールバーを利用して表示中画面を移動することが出来ます。画面ごとに移動する操作もコマンド入力で行えます。

  • C-v は、次の画面へ移動
  • M-v は、前の画面へ移動
  • C-l は、再描画及びポイント(カーソル位置)の行が画面中央になるように表示

また、画面中の特定の場所への移動もコマンド入力で行えます。

  • C-p は、前の行へ移動
  • C-n は、次の行へ移動
  • C-b は、前の文字へ移動
  • C-f は、次の文字へ移動

これらのコマンドはそれぞれ、Previous, Next, Backword, Forword の頭文字だと覚えておくと良いです。

更に、単語単位で移動するコマンドもあります。

  • M-b は、前の単語へ移動
  • M-f は、次の単語へ移動

他にも、行や段落単位で移動するコマンドやファイル先頭・末尾に移動する為のコマンドもあります。

  • C-a は、行頭へ移動
  • C-e は、行末へ移動
  • M-{ は、文頭(段落の先頭)へ移動
  • M-} は、文末(段落の末尾)へ移動
  • M-< は、ファイル先頭へ移動
  • M-> は、ファイル末尾へ移動

ファイル先頭へ移動するには、M-< とコマンド入力するのですが、大抵の場合には < を入力する場合 Shiftキーを押しながら、,(コンマ)キーを押すことになります。従って、M-< とコマンドを入力するには、メタキーとシフトキーとコンマキーを全て同時に押すことを意味しています。

以上のようにコマンドを利用する場合、例えば7行先に移動する場合には、C-nC-nC-n ・・・と入力しますが、これだと面倒ですよね?そんな場合には、数値引数を与えることで簡単に入力することができます。例えば、7行先に移動したい場合には、C-u7C-n とコマンド入力するだけです。これを応用すると、C-u10* とすれば、* を10個挿入できます。即ち、数値引数を与えると同じ動作を指定回繰り返すというわけです。

さて、前例の様な複数キーの入力コマンドを使用する場合、途中で入力を間違ったりして入力中コマンドを取り止めたい場合があります。そんな場合には、C-g とコマンド入力することで入力中コマンドを取り止めることができます。

(ちょっと長くなってきたのでそろそろ完結・・・。)

このように、xyzzyの操作のほとんどはコマンド入力形式で行えるようになっています。もちろん今回の例のような基本操作の為のコマンドは、まだまだ他にあります。キーの割り当てを確認するには、xyzzyのメニューのヘルプからキー割り当て一覧を選択することで確認できます。もちろん、キー割り当てはカスタマイズができます。また、もっと色々なことが知りたい方は、xyzzyはemacsに似ているので、emacsを参考にされるのも良いでしょう。

それでは最後に、xyzzyを終了します。C-xC-cとコマンドを入力するとxyzzyが終了します。