このマニュアルには、特定のキーがどのような機能を持つかを説明する記述が数多くあります。しかし、Emacsはキーに直接意味を割り当てるわけではありません。その代わりに、名前付きのコマンドに意味を割り当て、それらをコマンドにバインドすることで、キーに意味を持たせています。
すべてのコマンドには、プログラマが付けた名前があります。その名前は通常、ハイフンで区切られた数個の英単語で構成されており、例えば next-line や forward-word
のようになります。内部的には、各コマンドは特殊な種類の Lisp 関数
であり、そのコマンドに関連付けられた処理は、関数を実行することで行われます。The Emacs Lisp
Reference Manual の 関数とは何か
を参照してください。
キーとコマンドの対応関係は、キーマップと呼ばれるテーブルに記録されています。キーマップを参照してください。
「C-n
は垂直方向に1行分下に移動する」と述べる際、私たちは通常の使用では無関係ながら、Emacsのカスタマイズにおいては不可欠な微妙な違いを省略しています。コマンド
next-line は垂直方向に下へ移動します。C-n
がこの動作を示すのは、next-line
にバインドされているためです。もし C-n をコマンド forward-word に再バインドすれば、C-n
は代わりに1単語分前方に移動します。
本マニュアルでは、厳密にはキーがコマンドに割り当てられている場合であっても、C-nのようなキーをコマンドとして言及することがよくあります。通常は、実際に処理を行うコマンド名を、それを実行させるキーの後に括弧書きで記載します。例えば、「コマンド
C-n (next-line)
はポイントを垂直方向に下に移動させる」と記述しますが、これはコマンド next-line
が垂直方向に下に移動し、通常はキー C-n がそれに割り当てられていることを意味します。
カスタマイズについてお話ししていますので、変数について説明しておきましょう。コマンドの説明には、「これを変更するには、変数 mumble-foo
を設定してください」と書かれていることがよくあります。変数とは、値を格納するために使用される名前のことです。本マニュアルに記載されている変数のほとんどはカスタマイズ用です。何らかのコマンドやEmacsの他の部分がその変数を参照し、設定した値に応じて異なる動作をします。変数のカスタマイズに興味を持つまでは、変数に関する情報は無視して構いません。その後、変数に関する基本情報(変数を参照)を読めば、特定の変数に関する情報も理解できるようになるでしょう。