このマニュアルは、特定のキーが何を行うかを説明するページばかりです。しかし、Emacsは直接キーに意味を与えてはいません。そのかわりに、Emacsは名前を付けたコマンド(commands)に意味を持たせ、キーとコマンドをバインディング(binding)することによって、キーに意味を与えています。
すべてのコマンドには、プログラマーが選んだ名前が付いています。名前は、たとえばnext-line
、forward-word
のように、いくつかの英単語をダッシュで区切って作られます。内部的には、それぞれのコマンドはLispの関数(function)の特別な型で、コマンドに関連付けられたアクションは、関数を実行することによって機能します。What Is a Function in The Emacs Lisp Reference
Manualを参照してください。
キーとコマンドの間のバインディングは、keymapsというテーブルに記憶されます。キーマップを参照してください。
“C-nは下に1行動きます”という言い方は、通常の使用では関係ないものの、Emacsをカスタマイズする上では重要になる点を隠蔽しています。1行下に移動するコマンドはnext-line
です。C-nがnext-line
にバインドされているから効果があるのです。もしC-nをコマンドforward-word
にリバインドしたら、C-nで1語前方に動くことになります。
厳密に言えばキーはコマンドにバインドされているだけですが、このマニュアルではC-nをコマンドであるかのような言い回しをするときがあります。そのようなときは、処理を実行させるキーの後ろに、本当に処理を行うコマンドの名前をカッコ内に記します。たとえば、“コマンドC-n
(next-line
)は、ポイントを垂直下方に移動します”というときは、コマンドnext-line
がポイントを垂直下方に移動し、それは通常C-nにバインドされている、ということを意味します。
カスタマイズについて議論したので、変数(variables)にもふれておくべきでしょう。コマンドの説明で、“これを変更する場合、変数
mumble-foo
をセットしてください”というときがあります。変数とは、値を保存するときに使用する名前のことです。このマニュアルに記載されている変数は、ほとんどがカスタマイズに関するものです。いくつかのコマンド、およびEmacsのある部分は、変数を調べてその変数にセットされた値により、動作がかわります。カスタマイズに興味がでるまでは、、変数に関する情報は無視してかまいません。その後で変数(変数を参照)の基本を読めば、特定の変数についての情報に合点がいくでしょう。