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