さて、キーバインド + 使用頻度を調べて解析していきます。
ちなみに私のEmacs使用頻度を先に書いておくと、
- ほとんどC++
- たまにmakefile
- さらにたまにruby
- メールやメモ書きなども、ブラウザ以外ほとんどのものはEmacs上で行っている
- 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 が一位になるのは仕方ないとして、おおざっぱにカテゴライズしていくと、
- 基本カーソル移動系(next-line, move-beginning-of-line)
- インクリメンタルサーチ系(isearch-repeat-forward)
- ファイルのセーブ(save-buffer)
- テキストの削除(delete-backward-char)
- ウィンドウの切り替え(other-window)
- C++モード、関数の移動(c-beginning-of-defun, c-end-of-defun)
- anything系(anything-next-line, anything-at-point)
- テキストのセンタリング(recenter, C-lで呼ぶやつ)
- ミニバッファでの補間(minibuffer-complete, TAB)
- 元に戻す(undo)
- IMEの切り替え(toggle-input-method, 私の環境ではC-o)
- マークの設定、テキストのコピー、カット等(set-mark-command, context-copy(自作), kill-line)
- 貼り付け(yank)
- 改行+インデント、改行(newline-and-indent, newline)
- ウィンドウの操作(delete-other-windows, split-window-horizontally)
- 動的略語展開(dabbrev-expand)
- バッファの切り替え(switch-to-buffer)
- ファイル選択(find-file)
- ヘッダと実装ファイルの切り替え(ff-find-other-file)
- ワード単位の切り替え(backward-kill-word)
- コンパイル(compile-elf-g(自作))
- 抜け(keyboard-quit C-g)
- 画面スクロール(scroll-up, end-of-buffer)
- GTAGSへのジャンプ(gtags-find-tag)
- 次のエラーへ(next-error(grepで使う))
- バッファの削除(kill-buffer)
- コメントの作成(comment-dwim)
- grepによる探索(grep-find(実際は自作コマンドが呼び出される))
- 置換(query-replace)
うえー、疲れた。