Next: , Previous: , Up: キーマップ   [Contents][Index]


23.16 キーのバインドのためのコマンド

このセクションではキーバインディングを変更するために役に立つ、インタラクティブなインターフェイスをいくつか説明します。これらのインターフェイスはkeymap-set (キーバインディングの変更を参照)を呼び出すことによって機能します。これらのコマンドはインタラクティブに使用すると引数keyの入力を求めて、ユーザーが有効なキーシーケンスをタイプすることを期待します。更にそのキーシーケンスにたいするbindingの入力も求めて、ユーザーがコマンド名(commandpを満足するシンボル; インタラクティブな呼び出しを参照)を入力することを期待します。これらのコマンドはLispから呼び出されるとkeyにはkey-valid-p (see キーシーケンス)を満足するような文字列、bindingにはキーマップにおいて意味をもつ任意のLispオブジェクト(キーの照合を参照)を期待します。

ユーザーはinitファイルにたいしてシンプルなカスタマイズを行うとき、しばしばkeymap-global-setを使用します。たとえば、

(keymap-global-set "C-x C-\\" 'next-line)

は、次の行に移動するようにC-x C-\を再定義します。

(keymap-global-set "M-<mouse-1>" 'mouse-set-point)

は、メタキーを押してマウスの第一ボタン(左ボタン)をクリックすると、クリックした箇所にポイントをセットするように再定義します。

バインドするキーのLisp指定に非ASCII文字のテキストを使用するときには注意してください。マルチバイトとして読み取られたテキストがあるなら、Lispファイル内でマルチバイトテキストが読み取られるときのように(ASCII文字のロードを参照)、マルチバイトとしてキーをタイプしなければなりません。たとえば、

(keymap-global-set "ö" 'my-function) ; bind o-umlaut

をLatin-1のマルチバイト環境で使用すると、これらのコマンドはLatin-1端末から送信されたバイトコード246(M-v)ではなく、コード246のマルチバイト文字に実際にはバインドされます。このバインディングを使用するためには適切な入力メソッド(Input Methods in The GNU Emacs Manualを参照)を使用して、キーボードをデコードする方法をEmacsに教える必要があります。

Command: keymap-global-set key binding

この関数はカレントグローバルマップ内でkeyのバインディングをbindingにセットする。

(keymap-global-set key binding)
≡
(keymap-set (current-global-map) key binding)
Command: keymap-global-unset key

この関数はカレントグローバルマップからkeyのバインディングを削除する。

プレフィクスとしてkeyを使用する長いキーの定義の準備に使用するのもこの関数の1つの用途である。keyが非プレフィクスのようなバインディングをもつならこの使い方は許容されないだろう。たとえば、

(keymap-global-unset "C-l")
    ⇒ nil
(keymap-global-set "C-l C-l" 'redraw-display)
    ⇒ nil
Command: keymap-local-set key binding

この関数はカレントローカルキーマップ内のkeyのバインディングをbindingにセットする。

(keymap-local-set key binding)
≡
(keymap-set (current-local-map) key binding)
Command: keymap-local-unset key

この関数はカレントローカルキーマップからkeyのバインディングを削除する。

This page has generated for branch:emacs-29, commit:612b43d4f07e4df4e904de9f692a8ac80f309a40 to check Japanese translation.