はじめに
VScodeにまつわるおすすめ設定には様々なものがありますが、私のようなVimmerはVscodeのキーバインドなど覚えたくないのです。この記事を見てくれているということは、あなたもきっと同じ心境なのでしょう。
やりたいことは極力マウスを使わずにvscodeのキーバインドはいじらずvscodevim
を120%活かす方法です。
方法
ToggleとFocusの2つだけに焦点をあてます。
Toggle
これはONOFFにする機能です。たとえばサイドバーを開いたり閉じたりするような機能のことをいいます。
そして使用するToggleがサイドバーとターミナルで両方ともデフォルトの設定が存在します。
Toggle
// --------------------------------------
// Toggle
// --------------------------------------
// サイドバーのtoggle
{
"key": "ctrl+b",
"command": "workbench.action.toggleSidebarVisibility"
},
// ターミナルのtoggle
{
"key": "ctrl+`",
"command": "workbench.action.terminal.toggleTerminal"
},
Focus
これはタブやサイドバーなどあれこれ開くことができますが、それらをアクティブな状態にし操作できるようにする機能です。
そして使用するFocusはエスクプローラーとターミナルとエディターです。こちらは設定する必要があります。
Focus
// --------------------------------------
// Focus
// --------------------------------------
// エクスプローラーへフォーカス
{ "key": "ctrl+h", "command": "workbench.files.action.focusOpenEditorsView" },
// ターミナルへフォーカス
{ "key": "ctrl+j", "command": "workbench.action.terminal.focus" },
// エディターへフォーカス
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup"
},
おまけ
vimのバインドを1つ無効化
サイドバーのtoggleと被るので無効化する。
// --------------------------------------
// 無効
// --------------------------------------
{
"key": "ctrl+b",
"command": "-extension.vim_ctrl+b",
"when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode != 'Insert'"
},
まとめ
[
// --------------------------------------
// 無効
// --------------------------------------
{
"key": "ctrl+b",
"command": "-extension.vim_ctrl+b",
"when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode != 'Insert'"
},
// --------------------------------------
// 有効
// --------------------------------------
// --------------------------------------
// TOGGLE
// --------------------------------------
// サイドバーのtoggle
{
"key": "ctrl+b",
"command": "workbench.action.toggleSidebarVisibility"
},
// ターミナルのtoggle
{
"key": "ctrl+`",
"command": "workbench.action.terminal.toggleTerminal"
},
// --------------------------------------
// FOCUS
// --------------------------------------
// エクスプローラーへフォーカス
{ "key": "ctrl+h", "command": "workbench.files.action.focusFilesExplorer"},
// ターミナルへフォーカス
{ "key": "ctrl+j", "command": "workbench.action.terminal.focus" },
// エディターへフォーカス
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup"
},
// --------------------------------------
// エクスプローラー
// --------------------------------------
// ファイルを開く
{
"key": "o",
"command": "list.select",
"when": "explorerViewletFocus && listFocus &&explorerViewletVisible && !inputFocus"
},
// ファイルを削除
{
"key": "d",
"command": "deleteFile",
"when": "explorerViewletFocus && listFocus &&explorerViewletVisible && !inputFocus"
},
// ファイル名を変更
{
"key": "n",
"command": "renameFile",
"when": "explorerViewletFocus && listFocus &&explorerViewletVisible && !inputFocus"
},
// Reflesh
{
"key": "r",
"command": "workbench.files.action.refreshFilesExplorer",
"when": "explorerViewletFocus && listFocus &&explorerViewletVisible && !inputFocus",
},
// --------------------------------------
// 設定ファイル
// --------------------------------------
// keyboard shortcuts を開く
{
"key": "ctrl+shift+/",
"command": "workbench.action.openGlobalKeybindings"
},
// keybindings.json を開く
{
"key": "ctrl+shift+k",
"command": "workbench.action.openGlobalKeybindingsFile"
},
// settings.json を開く
{
"key": "ctrl+shift+s",
"command": "workbench.action.openSettingsJson"
},
]