kobapan@wiLiki
Login
Emacs

Emacs:キーバインドの設定の仕方

Emacsのキーバインドの設定方法いろいろ

(global-set-key [kp-9] 'tags-query-replace)   ; キーパットの 9
(global-set-key (kbd "<kp-9>") 'tags-query-replace)   ; キーパットの 9

(global-set-key "\C-h"     'myfunc)
(global-set-key "\C-\M-h"  'myfunc)
(global-set-key "\M-["     'myfunc)
(define-key global-map "\M- " 'dabbrev-expand)
(global-set-key (kbd "M-<spc>")  'dabbrev-expand)
(global-set-key "\M-g" 'goto-line)
(global-set-key "%" 'match-paren)

(global-set-key [(meta return)] 'ns-toggle-fullscreen)
(global-set-key [(C-tab)]           'myfunc) ; コントロール+タブ
(global-set-key [(backtab)]         'myfunc) ; シフト+タブ
(global-set-key [(C-S-iso-lefttab)] 'myfunc) ; コントロール+シフト+タブ
(global-set-key [M-zenkaku-hankaku] 'toggle-input-method)
(global-set-key [zenkaku-hankaku] 'toggle-input-method)
(global-set-key [(control f1)] 'bookmark-bmenu-list)
(global-set-key [(control f2)] 'bookmark-set)
(global-set-key (kbd "s-b") 'backward-word) ; lower case “s” is for super/windows

(global-set-key (kbd "C-;")          'myfunc)
(global-set-key (kbd "C-+")          'myfunc)
(global-set-key (kbd "C-\\")         'myfunc) ; コントロール+\
(global-set-key (kbd "M-[")          'myfunc) ; メタ(alt)+[
(global-set-key (kbd "<C-S-up>")     'myfunc) ; コントロール+シフト+up↑
(global-set-key (kbd "<C-S-down>")   'myfunc) ; コントロール+シフト+down↓
(global-set-key (kbd "<C-M-return>") 'myfunc) ; コントロール+メタ+Enter
(global-set-key (kbd "<muhenkan>")   'myfunc) ; 無変換
(global-set-key (kbd "S-<f7>")       'myfunc) ; シフト+F7
(global-set-key (kbd "C-S-backspace") 'myfunc) ; コントロール+シフト+BackSpace
(global-set-key (kbd "C-c b s") 'bookmark-buffers-save)
(global-set-key (kbd "C-c b c") 'bookmark-buffers-call)

;; シフトを押しながらホイールするとゆっくりスクロール 
(global-set-key (kbd "<S-wheel-down>") '(lambda () (interactive) (scroll-up 1)))
(global-set-key (kbd "<S-wheel-up>") '(lambda () (interactive) (scroll-up -1)))

(define-key global-map (kbd "C-z") 'undo)
(define-key global-map (kbd "C-S-d") 'backward-delete-char-untabify) ; Ctrl+シフト+d delete backward
(define-key global-map (kbd "C-c s") 'scheme-other-window)

(define-key global-map "\C-ct" 'instamp)
(define-key global-map [f5] 'recentf-open-files)
(define-key global-map [f12] 'kokopelli-sing)
(define-key global-map [f1] 'start-kbd-macro) ; キーボードマクロの定義を開始する C-x (
(define-key global-map [f2] 'end-kbd-macro) ; キーボードマクロの定義を終了する C-x )
(define-key global-map [f3] 'call-last-kbd-macro) ; もっとも最近のキーボードマクロを実行する C-x e
(define-key global-map (kbd "C-c @") 'browse-url)
(define-key global-map (kbd "C-x SPC") 'cua-set-rectangle-mark)

(define-key ctl-x-map [return] 'goto-line) ; C-x Enter (ctl-x-map は "\C-x" の代わりに使える)
(global-set-key [C-A-f5] 'goto-line)       ; 特殊キーと修飾キーの組み合わせ。Control-Alt-F5

特殊キーをバインドしたい場合は [] もしくは (kbd "<>") を使う

特殊キー 対応する []
BackSpace [DEL], [backspace]
Del [delete]
Home [home]
Enter [return]
Help [help]
PageUp [prior]
PageDown [next]
[up]
[down]
[left]
[right]
テンキーの 0~9 [kp-0] ~ [kp-9]
テンキーの Enter [kp-enter]

マウスイベントのシンボル

クリック

mouse-1 左クリック
double-mouse-3 右ダブルクリック

(global-set-key [mouse-1] 'test-click)

(global-set-key [drag-mouse-1] 'test-drag-mouse)

イベント

イベント 起きるとき 左ボタンでのシンボル
クリック ボタンを押して、その場で離すとき mouse-1
ドラッグ ボタンを押してからマウスを移動するとき drag-mouse-1
ボタン押し下げ ボタンを押した瞬間 down-mouse-1

デフォルトキーバインド

<C-down-mouse-1> mouse-buffer-menu
<C-down-mouse-2> facemenu-menu
<C-mouse-4> mwheel-scroll
<C-mouse-5> mwheel-scroll
<M-down-mouse-1> mouse-drag-secondary
<M-drag-mouse-1> mouse-set-secondary
<M-mouse-1> mouse-start-secondary
<M-mouse-2> mouse-yank-secondary
<M-mouse-3> mouse-secondary-save-then-kill
<S-down-mouse-1> mouse-appearance-menu
<S-mouse-3> kmacro-end-call-mouse
<S-mouse-4> mwheel-scroll
<S-mouse-5> mwheel-scroll

割り当て済みキーバインドの一覧

C-h C-h b ; ヘルプ ヘルプ バインド

 

Debian
Emacs
Firefox
Gauche
JavaScript
Linux
Scheme
org-mode/latex

More ...