Next: , Previous: Changing Key Bindings, Up: Keymaps


21.10 キーをバインドするためのコマンド

本節では、キーのバインディングを変更する 便利で対話的なインターフェイスについて述べます。 これらは、define-keyを呼び出して動作します。

単純なカスタマイズのために ファイル.emacsglobal-set-keyをしばしば使います。 たとえば、

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

     (global-set-key [?\C-x ?\C-\\] 'next-line)

     (global-set-key [(control ?x) (control ?\\)] 'next-line)

は、1行下がるようにC-x C-\を再定義します。

     (global-set-key [M-mouse-1] 'mouse-set-point)

は、メタキーを押し下げながらマウスの第1ボタン(左端)をクリックすると クリック位置にポイントを設定するように再定義します。

— コマンド: global-set-key key definition

この関数は、現在のグローバルキーマップにおいて keyのバインディングをdefinitionと設定する。

          (global-set-key key definition)
          ==
          (define-key (current-global-map) key definition)
— コマンド: global-unset-key key

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

この関数の1つの用途は、 keyに非プレフィックスのバインディングがあると再定義できないため、 keyをプレフィックスとして使う長いキーを定義する前準備である。 たとえば、つぎのとおり。

          (global-unset-key "\C-l")
              ⇒ nil
          (global-set-key "\C-l\C-l" 'redraw-display)
              ⇒ nil

この関数は単にdefine-keyを使って実装してある。

          (global-unset-key key)
          ==
          (define-key (current-global-map) key nil)
— コマンド: local-set-key key definition

この関数は、現在のローカルキーマップにおいて keyのバインディングをdefinitionと設定する。

          (local-set-key key definition)
          ==
          (define-key (current-local-map) key definition)
— コマンド: local-unset-key key

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

          (local-unset-key key)
          ==
          (define-key (current-local-map) key nil)