EmacsとVimのキーバインドまとめ
最近ターミナルを使うことがよくあり、キーバインドがEmacsであることが多いので覚える必要性を強く感じています。はたまた、サーバーの中にはエディタがVimかlessしか入っておらず、Vimを使う機会も増えてきました。
どちらが良いかという宗教戦争には関わるつもりはありませんが、使う以上どちらも覚えておかないといけないのでよく使うキーバインドをまとめることにしました。
.emacs.dとか.vimrcでキーバインドの変更はしないという想定でいきます。(サーバーとかは自分の環境じゃないことが多いですし・・・)
Vim特有のVisualモードとかの説明は長くなりすぎるので今回はしないことにします。同様にEmacsについても然りです。
Controlキーを^で表すことにします。メタキーはMで表します。
メタキーはWindows, Linuxならaltキーで、Macなら標準ではEscキーです。 Escキーのままでは使いにくいのでOptionキーをメタキーとして登録しておきましょう。
参考: Mac OS X のターミナルで meta キーを使う方法 – nanapi
移動
カーソルの移動系のキーバインドです。
| 挙動 | Emacs | Vim |
|---|---|---|
| 右に移動 | ^f | l |
| 左に移動 | ^b | k |
| 上へ移動 | ^p | ; |
| 下へ移動 | ^n | j |
| 行の先頭に移動 | ^a | | |
| 行の末尾に移動 | ^e | $ |
| 次の単語へ移動 | M-f | w |
| 前の単語へ移動 | M-b | b |
| 一画面下へスクロール | ^v | ^f |
| 一画面上へスクロール | M-v | ^b |
| 半画面下へスクロール | ^d | |
| 半画面上へスクロール | ^u | |
| ファイルの先頭へ移動 | M-< | gg |
| ファイルの末尾へ移動 | M-> | G |
覚え方
上下移動はEmacsは多分forward, backward, previous, nextですね。Vimは右手の基本ポジションのキーとなっています。
検索
| 挙動 | Emacs | Vim |
|---|---|---|
| 検索 | ^s or ^r | / |
| 次の候補へ移動 | ^s | n |
| 前の候補へ移動 | ^r | N |
注意
Vimの場合は検索する文字列を入力した後、Enterで確定した後候補の移動が出来るようになる。
削除
| 挙動 | Emacs | Vim |
|---|---|---|
| カーソル上の文字を削除 | ^d | x |
| カーソルの前の文字を削除 | ^h | X |
| カーソル位置から行末までを削除 | ^k | D |
| カーソル位置の行を削除 | ^a ^k | dd |
| カーソル位置の単語を削除 | M-d |
編集
| 挙動 | Emacs | Vim |
|---|---|---|
| コピー | M-w | y |
| カット | ^w | |
| ペースト | ^y | p |
| アンドゥ | ^_ | u |
| リドゥ | ^g ^_ | ^r |
参考にしたサイト
■vim – これだけあればOKの操作(キーバインドは変更しない事、プラグイン不要) – omoisanのmemo
Emacsのキーバインド覚書
Vim
redo in Emacs – u-ch
