さて、キーバインド + 使用頻度を調べて解析していきます。
ちなみに私の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)
うえー、疲れた。