Next: , Previous: , Up: The Emacs Editor   [Contents][Index]


5 キーとコマンド

このマニュアルは、特定のキーが何を行うかを説明するページばかりです。しかし、Emacsは直接キーに意味を与えてはいません。そのかわりに、Emacsは名前を付けたコマンド(commands)に意味を持たせ、キーとコマンドをバインディング(binding)することによって、キーに意味を与えています。

すべてのコマンドには、プログラマーが選んだ名前が付いています。名前は、たとえばnext-lineforward-wordのように、いくつかの英単語をダッシュで区切って作られます。内部的には、それぞれのコマンドはLispの関数(function)の特別な型で、コマンドに関連付けられたアクションは、関数を実行することによって機能します。What Is a Function in The Emacs Lisp Reference Manualを参照してください。

キーとコマンドの間のバインディングは、keymapsというテーブルに記憶されます。キーマップを参照してください。

C-nは下に1行動きます”という言い方は、通常の使用では関係ないものの、Emacsをカスタマイズする上では重要になる点を隠蔽しています。1行下に移動するコマンドはnext-lineです。C-nnext-lineにバインドされているから効果があるのです。もしC-nをコマンドforward-wordにリバインドしたら、C-nで1語前方に動くことになります。

厳密に言えばキーはコマンドにバインドされているだけですが、このマニュアルではC-nをコマンドであるかのような言い回しをするときがあります。そのようなときは、処理を実行させるキーの後ろに、本当に処理を行うコマンドの名前をカッコ内に記します。たとえば、“コマンドC-n (next-line)は、ポイントを垂直下方に移動します”というときは、コマンドnext-lineがポイントを垂直下方に移動し、それは通常C-nにバインドされている、ということを意味します。

カスタマイズについて議論したので、変数(variables)にもふれておくべきでしょう。コマンドの説明で、“これを変更する場合、変数 mumble-fooをセットしてください”というときがあります。変数とは、値を保存するときに使用する名前のことです。このマニュアルに記載されている変数は、ほとんどがカスタマイズに関するものです。いくつかのコマンド、およびEmacsのある部分は、変数を調べてその変数にセットされた値により、動作がかわります。カスタマイズに興味がでるまでは、、変数に関する情報は無視してかまいません。その後で変数(変数を参照)の基本を読めば、特定の変数についての情報に合点がいくでしょう。