👨💻
VSCode: Emacsキーバインド拡張まとめ
はじめに
以下の過去5年間のGoogle検索トレンド (全世界) の結果を見て下さい。もはやVSCodeが一番検索キーワードが多く、Emacsは右肩下がりです...
とは言っても、VSCodeでも慣れ親しんだEmacsキーバインド使いたいですよね?そんなEmacsユーザのために最新のEmacsキーバインドのExtensionを調査してみましたのでまとめておきます。
結論: Awesome Emacs Keymapがお勧め
一通り触ってみた結果をもとに結論から伝えておきます。
キーバインドのサポート数が一番多く機能的にほぼ問題がなく、日本人の方 (tuttieeeさん) が他と比べると頻繁に更新されているなどの理由から、Awesome Emacs Keymapが一番お勧めかと思います。
不具合や改善点があれば、githubの以下のリポジトリにissueを投稿しましょう!
キー割り当ての注意
個人的によく使うバッファの先頭/末尾に移動するM - >
, M - <
などのM
のキー割り当てについてですが、ESCではなくAltを割り当てられているため、お忘れないく。VSCodeの仕様上、ESCと他キーの組み合わせのキーバインドは定義できないみたいです。
VSCodeでも最低限使いたいキーバインド
カーソル移動
コマンド | 機能 |
---|---|
C-p | 1行上に移動 |
C-n | 1行下に移動 |
C-f | 1文字前に移動 |
C-b | 1文字後に移動 |
C-a | 行先頭に移動 |
C-e | 行末尾に移動 |
C-v | 1画面分下に移動 |
M-v | 1画面上に移動 |
M-< | バッファ (ファイル) の先頭に移動 |
M-> | バッファ (ファイル) の末尾に移動 |
検索
コマンド | 機能 |
---|---|
C-s | 前方検索 |
C-r | 後方検索 |
編集
コマンド | 機能 |
---|---|
C-y | 貼り付け |
C-d | カーソルの文字を削除 |
C-k | カーソル位置以降の文字を削除 (削除部分はクリップボードにコピーされているので、C-yで貼り付け可能) |
C-Space | マークセット |
C-w | マーク部分からカーソル位置までカット |
M-% | 文字検索と置換 (一つ一つ確認しながらの置換) |
ウインドウ操作
コマンド | 機能 |
---|---|
C-x 2 | 2行に分割 |
C-x 3 | 2列に分割 |
C-x 0 | カーソルのあるほうの分割したウィンドウを閉じる |
Emacsキーバインドの拡張機能一覧
emacsで検索してヒットしたキーバインド系の拡張機能を上位からいくつか調査してみました。
Awesome Emacs Keymap
バージョン | 0.14.1 (2020/2/21) |
---|---|
感想 | 個人的には完璧です。M-> (最初/最後の行への移動) などのESCキーはVSCodeの制約から使えず、代わりにAltキーをアサインしているとのことでした。 |
Emacs Friendly Keymap
バージョン | 0.9.0 (2019/6/6) |
---|---|
感想 | 個人的には1行削除→Undoした後のカーソル位置が元の位置に戻らずに行末に移動するのが好みではないのと、少し動作が他に比べると遅いです。 |
VSCodeEmacs
バージョン | 0.8.2 (2017-10-09) |
---|---|
感想 | ESC系のコマンドがありませんが、それ以外は大体使えたという感じです |
Emacs
バージョン | 0.0.9 (2016/2/12) |
---|---|
感想 | カーソルの上下移動コマンドのC-n, C-pがカーソル移動ではなく、画面スクロールだった… |
emacs-region
バージョン | 1.3.0 (2017/7/17) |
---|---|
感想 | 1行削除のC-kが使えないのでNG |
Emacs Keymap Improved
バージョン | 1.1.0 (2018/8/25) |
---|---|
感想 | ESC系のコマンドがありませんが、それ以外は大体使えたという感じです |
emacs-mode
バージョン | 0.0.4 (2019/7/21) |
---|---|
感想 | Undo (Ctrl-/)が使えない |
Emacs Keymap
バージョン | 0.1.1 (2016/11/10) |
---|---|
感想 | 例えばC+2など、画面分割系コマンドが使えない |
Discussion