おんがえしの blog

作ったプログラムと調べた技術情報

Emacsのキーバインドを整頓する(2) 〜使用頻度順に並べてみる〜

さて、キーバインド + 使用頻度を調べて解析していきます。

ちなみに私のEmacs使用頻度を先に書いておくと、

  1. ほとんどC++
  2. たまにmakefile
  3. さらにたまにruby
  4. メールやメモ書きなども、ブラウザ以外ほとんどのものはEmacs上で行っている
  5. shellはEmacs上で1枚、もう一枚はbashシェルの2枚を併用

まずベスト100から。

ランキング 使用回数 コマンド名
1 62756 self-insert-command
2 26579 isearch-printing-char
3 20024 next-line
4 18351 move-beginning-of-line
5 17837 previous-line
6 16780 isearch-repeat-forward
7 15573 backward-char
8 12632 isearch-other-control-char
9 12476 forward-char
10 12045 isearch-repeat-backward
11 11260 isearch-forward
12 9956 save-buffer
13 9238 scroll-next-10-line
14 8830 move-end-of-line
15 7075 scroll-previous-10-line
16 6605 delete-backward-char
17 6313 other-window
18 5668 ignore
19 4873 c-beginning-of-defun
20 4406 c-end-of-defun
21 4309 anything-next-line
22 4074 recenter
23 3975 minibuffer-complete
24 3716 undo
25 3224 toggle-input-method
26 2964 set-mark-command
27 2828 exit-minibuffer
28 2625 context-copy
29 2503 yank
30 2274 kill-line
31 2259 anything-at-point
32 2109 kill-region
33 2098 anything-exit-minibuffer
34 2068 backward-list
35 1958 newline-and-indent
36 1852 isearch-backward
37 1840 migemo-isearch-yank-word
38 1823 isearch-yank-kill
39 1707 forward-list
40 1554 newline
41 1532 kill-ring-save
42 1444 delete-other-windows
43 1402 anything-previous-line
44 1310 c-electric-paren
45 1294 split-window-horizontally
46 1200 dabbrev-expand
47 1090 c-electric-delete-forward
48 1040 c-indent-command
49 1016 switch-to-buffer
50 994 delete-char
51 956 find-file
52 913 abort-recursive-edit
53 896 ff-find-other-file
54 868 backward-kill-word
55 651 comint-send-input
56 640 comint-dynamic-complete
57 623 c-electric-semi&comma
58 620 exchange-point-and-mark
59 607 c-electric-slash
60 595 compile-elf-g
61 536 nil
62 490 keyboard-quit
63 488 scroll-up
64 464 isearch-other-meta-char
65 430 beginning-of-buffer
66 387 c-electric-brace
67 347 end-of-buffer
68 334 migemo-isearch-toggle-migemo
69 325 gtags-find-tag
70 278 mouse-drag-region
71 271 minibuffer-complete-and-exit
72 264 mouse-set-point
73 259 comint-previous-input
74 248 c-electric-colon
75 236 next-error
76 227 kill-buffer
77 222 comment-dwim
78 197 grep-find
79 193 gtags-find-rtag
80 189 query-replace
81 186 c-electric-lt-gt
82 157 anything-execute-persistent-action
82 157 scroll-down
83 150 gtags-pop-stack
84 147 c-electric-pound
85 133 compile-mkdat
86 125 hexl-previous-line
86 125 moccur-next
87 114 yank-pop
88 112 beginning-of-defun
89 108 previous-history-element
90 105 ruby-indent-command
91 99 c-electric-star
92 94 ruby-reindent-then-newline-and-indent
93 85 universal-argument-other-key
94 84 gtags-find-symbol
95 79 end-of-defun
96 71 compile-goto-error
97 66 codegen-update
98 65 execute-extended-command
99 64 insert-register
99 64 ruby-beginning-of-block
99 64 universal-argument
100 63 repeat-complex-command

self-insert-command が一位になるのは仕方ないとして、おおざっぱにカテゴライズしていくと、

  1. 基本カーソル移動系(next-line, move-beginning-of-line)
  2. インクリメンタルサーチ系(isearch-repeat-forward)
  3. ファイルのセーブ(save-buffer)
  4. テキストの削除(delete-backward-char)
  5. ウィンドウの切り替え(other-window)
  6. C++モード、関数の移動(c-beginning-of-defun, c-end-of-defun)
  7. anything系(anything-next-line, anything-at-point)
  8. テキストのセンタリング(recenter, C-lで呼ぶやつ)
  9. ミニバッファでの補間(minibuffer-complete, TAB)
  10. 元に戻す(undo)
  11. IMEの切り替え(toggle-input-method, 私の環境ではC-o)
  12. マークの設定、テキストのコピー、カット等(set-mark-command, context-copy(自作), kill-line)
  13. 貼り付け(yank)
  14. 改行+インデント、改行(newline-and-indent, newline)
  15. ウィンドウの操作(delete-other-windows, split-window-horizontally)
  16. 動的略語展開(dabbrev-expand)
  17. バッファの切り替え(switch-to-buffer)
  18. ファイル選択(find-file)
  19. ヘッダと実装ファイルの切り替え(ff-find-other-file)
  20. ワード単位の切り替え(backward-kill-word)
  21. コンパイル(compile-elf-g(自作))
  22. 抜け(keyboard-quit C-g)
  23. 画面スクロール(scroll-up, end-of-buffer)
  24. GTAGSへのジャンプ(gtags-find-tag)
  25. 次のエラーへ(next-error(grepで使う))
  26. バッファの削除(kill-buffer)
  27. コメントの作成(comment-dwim)
  28. grepによる探索(grep-find(実際は自作コマンドが呼び出される))
  29. 置換(query-replace)

うえー、疲れた。