Emacs Keybinding Syntax Examples
Here are sample code you need to place in your emacs init file for defining various key press combinations.
In the following, the beep is a example command. Replace it with the command name you want.
Single Modifier Key
(global-set-key (kbd "M-a") 'beep) ; Meta+a (global-set-key (kbd "C-a") 'beep) ; Ctrl+a
Function keys and Special keys
(global-set-key (kbd "<f2>") 'beep) ; F2 key (global-set-key (kbd "<kp-2>") 'beep) ; the “2” key on the number keypad (global-set-key (kbd "<insert>") 'beep) ; the Ins key (global-set-key (kbd "<delete>") 'beep) ; the Del key (global-set-key (kbd "<home>") 'beep) (global-set-key (kbd "<end>") 'beep) (global-set-key (kbd "<next>") 'beep) ; page down key (global-set-key (kbd "<prior>") 'beep) ; page up key (global-set-key (kbd "<left>") 'beep) ; ← (global-set-key (kbd "<right>") 'beep) ; → (global-set-key (kbd "<up>") 'beep) ; ↑ (global-set-key (kbd "<down>") 'beep) ; ↓ (global-set-key (kbd "RET") 'beep) ; the Enter/Return key (global-set-key (kbd "SPC") 'beep) ; the Space bar key
(info "(elisp) Function Keys")
Modifier + Special Key
(global-set-key (kbd "M-<f2>") 'beep) ; Meta+F2 (global-set-key (kbd "C-<f2>") 'beep) ; Ctrl+F2 (global-set-key (kbd "S-<f2>") 'beep) ; Shift+F2 (global-set-key (kbd "M-<up>") 'beep) ; Meta+↑ (global-set-key (kbd "C-<up>") 'beep) ; Ctrl+↑ (global-set-key (kbd "S-<up>") 'beep) ; Shift+↑
Two Modifier Keys
2 modifier keys pressed simultaneously, plus a letter key:
(global-set-key (kbd "M-A") 'beep) ; Meta+Shift+a (global-set-key (kbd "C-A") 'beep) ; Ctrl+Shift+a (global-set-key (kbd "C-M-a") 'beep) ; Ctrl+Meta+a
Example of 2 modifier keys with a digit key:
(global-set-key (kbd "M-@") 'beep) ; Meta+Shift+2 or Meta+@ (global-set-key (kbd "C-@") 'beep) ; Ctrl+Shift+2 or Ctrl+@ (global-set-key (kbd "C-M-2") 'beep) ; Ctrl+Meta+2 (global-set-key (kbd "C-S-<kp-2>") 'beep); Ctrl+Shift+“numberic pad 2”
Three Modifier Keys
3 modifier keys pressed simultaneously:
(global-set-key (kbd "C-M-S-a") 'beep) ; Ctrl+Meta+Shift+a (global-set-key (kbd "C-M-!") 'beep) ; Ctrl+Meta+Shift+1 or Ctrl+Meta+! (global-set-key (kbd "C-M-\"") 'beep) ; Ctrl+Meta+Shift+' or Ctrl+Meta+" (global-set-key (kbd "C-M-S-<up>") 'beep); Ctrl+Meta+Shift+↑
Key Sequence
Example of sequence of key combinations:
(global-set-key (kbd "C-c a") 'beep) ; Ctrl+c a (global-set-key (kbd "C-c SPC") 'beep) ; Ctrl+c Space (global-set-key (kbd "C-c <f2>") 'beep) ; Ctrl+c f2 (global-set-key (kbd "C-c <up>") 'beep) ; Ctrl+c ↑ (global-set-key (kbd "C-c C-c <up>") 'beep); Ctrl+c Ctrl+c ↑
A shortcut can be created without any modifier keys.
(global-set-key (kbd "2") 'beep) (global-set-key (kbd "a") 'beep) (global-set-key (kbd "é") 'beep) (global-set-key (kbd "α") 'beep) (global-set-key (kbd "π") 'beep) (global-set-key (kbd "(") 'beep) (global-set-key (kbd "你") 'beep)
推荐:
1. Emacs: How to Define Keyboard Shortcuts :FAQ Style with Examples
2. Emacs's Key Notations Explained (/r, ^M, C-m, RET, <return>, M-, meta)