Next: Describing Characters, Previous: Accessing Documentation, Up: Documentation [Contents][Index]
ドキュメント文字列がキーシーケンスを参照する際、それらはカレントである実際のキーバインディングを使用するべきです。これらは、以下で説明する特別なキーシーケンスを使用して行うことができます。通常の方法によるドキュメント文字列へのアクセスは、これらの特別なキーシーケンスをカレントキーバインディングに置き換えます。これは、substitute-command-keys
を呼び出すことにより行われます。あなた自身がこの関数を呼び出すこともできます。
以下は、それら特別なシーケンスと、その意味についてのリストです:
\[command]
これは、commandを呼び出すキーシーケンス、またはcommandがキーバインディングをもたない場合は‘M-x command’である。
\{mapvar}
これは、変数mapvarの値であるようなキーマップの要約を意味する。この要約は、describe-bindings
を用いて作成される。
\<mapvar>
これ自体は、何のテキストも意味せず、副作用のためだけに使用される。これは、このドキュメント文字列内にある、後続のすべての‘\[command]’にたいするキーマップとして、mapvarの値を指定する。
\=
これは、後続の文字をクォートして、無効にする。したがって、‘\=\[’は‘\[’、‘\=\=’は‘\=’を出力に配する。
注意してください: Emacs Lisp内の文字列として記述する際は、‘\’を2つ記述しなければなりません。
この関数は、上述の特別なシーケンスをstringからスキャンして、それらが意味するもので置き換え、その結果を文字列としてリターンする。これにより、そのユーザー自身がカスタマイズした、実際のキーシーケンスを参照するドキュメントが表示できる。
あるコマンドが複数のバインディングをもつ場合、通常この関数は最初に見つかったバインディングを使用する。以下のようにして、コマンドのシンボルプロパティ:advertised-binding
に割り当てることにより、特定のキーバインディングを指定できる:
(put 'undo :advertised-binding [?\C-/])
:advertised-binding
プロパティは、メニューアイテム(Menu Barを参照)に表示されるバインディングにも影響する。コマンドが実際にもたないキーバインディングを指定した場合、このプロパティは無視される。
以下は、特別なキーシーケンスの例である:
(substitute-command-keys "再帰編集者abortするには、次をタイプする: \\[abort-recursive-edit]") ⇒ "再帰編集者abortするには、次をタイプする: C-]"
(substitute-command-keys "ミニバッファーにたいして定義されたキーは: \\{minibuffer-local-must-match-map}") ⇒ "ミニバッファーにたいして定義されたキーは:
? minibuffer-completion-help SPC minibuffer-complete-word TAB minibuffer-complete C-j minibuffer-complete-and-exit RET minibuffer-complete-and-exit C-g abort-recursive-edit "
(substitute-command-keys "ミニバッファーにたいして再帰編集をabortするには、次をタイプ: \\<minibuffer-local-must-match-map>\\[abort-recursive-edit].") ⇒ "ミニバッファーにたいして再帰編集をabortするには、次をタイプ: C-g."
ドキュメント文字列内のテキストにたいしては、他にも特別な慣習があります。たとえば、このマニュアルの関数、変数、およびセクションで参照できます。詳細はDocumentation Tipsを参照してください。