おもちゃラボ

Unityで遊びを作ってます

Visual Studio 2019でEmacsのカーソル移動

Visual Studio 2019でカーソル移動だけをEmacsキーバインドにする方法を紹介します。Visual Studio に Emacsキーバインドのプラグインを入れたものの、コピペとか保存のショートカットまで上書きされて使いにくい、という人向けの記事です!

f:id:nn_hokuson:20201226204925j:plain

ctrlとcpas lockを入れ替える

昔はレジストリを書き換えるしか方法が無かったようですが、最近はCtrl2Capというマイクロソフト公式のツールが提供されているので、これを利用します。

次のサイトからCtrl2Capをダウンロードしてください。
docs.microsoft.com

ダウンロードできたら、適当なフォルダに解凍してください。インストール方法が少し変わっていて、コマンドプロンプトを使う必要があります。
画面下[ ここに入力して検索]に「cmd」と入力し、表示されたコマンドプロンプトのアイコンを右クリックし「管理者として実行」を選択してください。

f:id:nn_hokuson:20201226204307p:plain:w300

コマンドプロンプトが開いたら、上でCtrl2Capを解凍したフォルダに移動し、次ののコマンドを実行してください。

ctrl2cap.exe /install

あとはPCを再起動すればCtrlキーとCaps Lockキーが入れ替わります。

Visual Studioのカーソル移動をEmacs風にする

Visual Studioのキーバインドを変更するにはメニューバーから「ツール」→「オプション」を選択します。

f:id:nn_hokuson:20201226202441p:plain:w300

開いたオプションウインドウの左カラムから「環境」→「キーボード」を選択します。キーバインドを変更するには右カラムでコマンドを選択し、それに対応するショートカットキーを入力します。

f:id:nn_hokuson:20201226202659p:plain:w550

まずは「Ctrl+B」でカーソルを1文字左移動するように設定してみましょう。「以下の文字列を含むコマンドを表示」の欄に「移動」と入力し、表示されるコマンドのなかから「編集.左に1文字移動」を選択してください。次にショートカット欄で「Ctrl+B」と入力して、割り当てボタンをクリックしてください。

f:id:nn_hokuson:20201226203127p:plain:w550

上の画像で「現在使用されているショートカット」の欄に「ビルド.選択範囲のビルド」のコマンドが入っていますね。1つのショートカットに2つのコマンドは割り当てられないので、こちらのコマンドのショートカットは外しておく必要があります。

そこで、「以下の文字列を含むコマンドを表示」の欄に「選択範囲のビルド」と入力して、「選択したコマンドへのショートカット」の「削除」をクリックしてください。

f:id:nn_hokuson:20201226203455p:plain:w550
同様の手順で次のEmacsコマンドとショートカットを指定すれば、Visual Studio 2019でもEmacs風のカーソル移動が出来るようになります。

コマンド名 ショートカット 削除するコマンド
編集.左に1文字移動 Ctrl+B ビルド選択範囲のビルド
編集.右に1文字移動 Ctrl+F なし
編集.行頭に移動 Ctrl+A なし
編集.行末に移動 Ctrl+E InteractiveConsole.ExecuteInInteractive
編集.1行下へ Ctrl+N 新規ファイル作成
編集.1行上へ Ctrl+P プリント
編集.削除 Ctrl+D

まとめ

Visual Studio 2019でカーソル移動だけをEmacs風キーバインドにする方法を紹介しました。Emacs用のプラグインを入れるよりも自由にコントロールできるので便利です。