Emacs使いがVS Codeを使う

Emacs使いがVS Codeを使う Visual Studio Code
スポンサーリンク

前回前々回でVS Code+WSL2でプログラミング(とりあえずC言語)をできる環境を整えました。

今回はVS Codeを使いやすくしていきたいと思います。

スポンサーリンク

エディタとキーバインド

エディタの使い勝手を決める要素はいろいろありますが、重要なのはキーバインドであることは確かだと思います。

Windowsだとキーバインドはコピー(CtrlC)、ペースト(CtrlV)などである程度統一されている気もしますが、Linuxはそうでももなかったりします(過去の話かもしれませんが・・・)。

Linux(というかUnix)の世界では、エディタといえばEmacsとVi(Vim)という二大流派があり、それぞれのエディタが独特のキーバインドが導入されています。

EmacsとViの間にはエディタ戦争と呼ばれる論争があります。

エディタ戦争 - Wikipedia

そんな中で私は大学時代にLinux+Emacsという環境だったこともあり、手がすっかりEmacsのキーバインドになじんでしまいました。

例えば、カーソルの上下左右はCtrl+pCtrl+nCtrl+bCtrl+fが自然ですし、コピー・カット・ペーストはAlt+wCtrl+wCtrl+yがしっくりきます。

そのため、Windowsを利用するときには、Keyhacというアプリを使い、キーバインドをEmacs風に変更して使っています。

craftware - Keyhac (日本語)
ダウンロード
スポンサーリンク

VS Codeの場合

VS Codeの場合は、キーバインドはデフォルトではWindowsの標準的なもののようです。

例えば、コピー・カット・ペーストは、CtrlcCtrlxCtrlvになっています。

VS Codeのキーバインド(キーボードショートカット)は「設定」→「キーボードショートカット」で確認することができます。

キーボードショートカット一覧

これではどうも使いにくいのではやりEmacs風にキーバインドを替えたいところです。

幸いなことにVS Codeは拡張機能でキーバインドを変更することができるようで、拡張機能を「emacs」で検索すると多くの拡張機能がでてきます。

emacs関係の拡張機能

むしろ多すぎてどれが良いのか迷ってしまうぐらいです。

Awesome Emacs Keymap

たくさんあるEmacsキーバインドを実現する拡張機能の中で私が使ってみたのは「Awesome Emacs Keymap」です。

Awesome Emacs Keymap

この拡張機能をインストールするだけで、EmacsのキーバインドでVS Codeを使えるようになります。

実はいくつか設定項目があるのですが、とりあえずはデフォルトのままでも私には問題ありません。

この拡張機能によって実現されるキーバインドは下記のサイトで一覧できます。

GitHub - whitphx/vscode-emacs-mcx: Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support
Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support - whitphx/vscode-emacs-mcx

例えばカーソル移動関係でも次の様になっており、Emacsと同じキーバインドで操作できることがわかります。

Awesome Emacs Keymapのキーバインド

ちなみに、VS Codeにはコマンドパレットという機能があり、コマンドパレットを表示させるとキーボードで実行したい機能を入力することができます。

Awesome Emacs Keymapを導入すると、コマンドパレットはAltxになります。

コマンドパレットの起動

EmacsでもAltxを入力すると、実行コマンドを手入力できるので、こんなところも似せているのかとちょっと感心しました。

keyhacのようなWindows全体のキーバインドを変えるソフトを使っている人は、Visual Studio Codeを除外しておくことをオススメします。

除外しないと「Awesome Emacs Keymap」と競合してしまい、期待した動作にはなりません。

まとめ

今回はVS CodeでEmacsのキーバインドを実現するために、Awesome Emacs Keymapという拡張機能を導入したことを紹介しました。

この拡張機能を導入すると、カーソル移動や文字の編集などがEmacsと同じキー操作で行うことができます。Emacsになれている人がVS Codeを使う際には必ず入れて置きたい拡張機能と思います。

次回はプログラミングに便利な拡張機能を紹介します。

コメント

タイトルとURLをコピーしました