Open1
VSCode でキーバインドをいい感じに設定したい

VSCodeVim プラグインをインストールした Windows の VSCode で Ctrl-f や Ctrl-b をカーソル移動で使えるようにしたい
やりたいこと
- ノーマルモード:Ctrl-f, Ctrl-b で画面スクロールできるようにしたい
- インサートモード:Ctrl-f, Ctrl-b でカーソル移動できるようにしたい
設定
ノーマルモード
ノーマルモードにおける画面スクロールは、VSCodeVim が機能提供している。そのため、VSCodeVim のキーバインドが優先されるよう設定する。settings.json
に以下の設定を追加する。
{
...,
"vim.useCtrlKeys": true,
"vim.handleKeys": {
"<C-f>": true,
"<C-b>": true,
}
}
Ctrlキーを利用した操作を有効にするため、 "vim.useCtrlKeys": true
を設定する。また、 "vim.handleKeys"
を設定することで、 VSCode ではなく VSCodeVim のキーバインドが優先される。
インサートモード
次に、インサートモードでカーソル移動をできるように設定する。VSCode のデフォルト設定では、検索(Ctrl-f)とサイドバー表示のトグル(Ctrl-b)に設定されているので、この機能を無効にする。必要であれば、無効にするのではなく別のキーにマップして利用すると良い。keybindings.json
を開いて、以下の設定を追加する。
[
...,
{
"key": "ctrl+f",
"command": "-actions.find",
"when": "editorFocus || editorIsOpen"
},
{
"key": "ctrl+b",
"command": "-workbench.action.toggleSidebarVisibility"
}
]
次にカーソル移動の設定を追加する。
[
...,
{
"key": "ctrl+f",
"command": "cursorRight",
"when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode == 'Insert'"
},
{
"key": "ctrl+b",
"command": "cursorLeft",
"when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode == 'Insert'"
}
]
以上でやりたいことが実現できる。