Next: , Previous: , Up: Keymaps   [Contents][Index]


26.11 Commands for Binding Keys

This section describes some convenient interactive interfaces for changing key bindings. They work by calling define-key.

People often use global-set-key in their init.el file for simple customization. For example,

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

or

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

or

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

redefines C-x C-\ to move down a line.

(global-set-key [(meta button1)] 'mouse-set-point)

redefines the first (leftmost) mouse button, typed with the Meta key, to set point where you click.

Command: global-set-key key definition

This function sets the binding of key in the current global map to definition.

(global-set-key key definition)
≡
(define-key (current-global-map) key definition)
Command: global-unset-key key

This function removes the binding of key from the current global map.

One use of this function is in preparation for defining a longer key that uses key as a prefix—which would not be allowed if key has a non-prefix binding. For example:

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

This function is implemented simply using define-key:

(global-unset-key key)
≡
(define-key (current-global-map) key nil)
Command: local-set-key key definition

This function sets the binding of key in the current local keymap to definition.

(local-set-key key definition)
≡
(define-key (current-local-map) key definition)
Command: local-unset-key key

This function removes the binding of key from the current local map.

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

Next: , Previous: , Up: Keymaps   [Contents][Index]