1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCode Vimキーバインドの設定をチートシートといっしょにさらす

Last updated at Posted at 2024-05-27

VSCode Vimキーバインドの設定をさらす

自分のメモ用にvscodeの設定とチートシートをさらします。

現在の設定はVimとVSCodeVimの違いをなるべく減らす設定を参考にしており、差分はほとんどないです。

VSCode Vim キーコマンド チートシート (モード別 + VSCode 関連操作 + その他)

ノーマルモード

コマンド 説明
J 下方向に10行移動
K 上方向に10行移動
H 行の先頭へ移動
L 行の末尾へ移動
<Leader>h 左側のウィンドウへ移動
<Leader>j 下側のウィンドウへ移動
<Leader>k 上側のウィンドウへ移動
<Leader>l 右側のウィンドウへ移動
] C言語の宣言へ移動
[ 定義へ移動
<Leader>s 水平に分割
<Leader>v 垂直に分割
> 選択範囲をインデントする
< 選択範囲をアウトデントする
<Leader>u 次のタブへ移動
<Leader>y 前のタブへ移動
<Leader>x タブを閉じる
<Leader>q すべてのタブを閉じる
<Leader>w すべてのタブを保存
<Leader>o 空の行を挿入
<Leader>O 空の行を挿入(行頭へ)
<Leader>c 行をコメントアウト
<Leader>: コマンドパレットを表示
<Leader>; ファイル検索
<CR> 最終行へ移動
<BS> 最初の行へ移動
n 次の検索結果へ移動
N 前の検索結果へ移動
* カーソル位置のワードを検索
# カーソル位置のワードを検索(逆方向)
s 選択範囲を囲む
f easymotion: 2文字の候補を表示
<C-n> 選択範囲を増やす
<Leader>@ Markdownプレビューを横に表示
dd 行を削除
yy 行をコピー
p ペースト
u 元に戻す
Ctrl+r やり直す
v ビジュアルモード
V 行選択モード
Ctrl+v ブロック選択モード
gU 行を大文字に変換
gu 行を小文字に変換
~ 大文字と小文字を入れ替える
r 文字を置き換える
a カーソルの後ろに挿入
i カーソルの前に挿入
o カーソルの下に新しい行を挿入
O カーソルの上に新しい行を挿入

インサートモード

コマンド 説明
jj インサートモードからノーマルモードへ
;; サジェストを起動
vL 行末まで選択範囲を広げる
vH 行頭まで選択範囲を広げる
Esc インサートモードからノーマルモードへ
Ctrl+[ インサートモードからノーマルモードへ
Ctrl+C インサートモードからノーマルモードへ

ビジュアルモード

コマンド 説明
> 選択範囲をインデントする
< 選択範囲をアウトデントする
<Leader>: コマンドパレットを表示
<Leader>; ファイル検索
<Leader>c 行をコメントアウト
<C-n> 選択範囲を増やす
<C-l> 行末にカーソルを追加
<Leader>b コードを揃える
<Leader>v コメントを揃える
y 選択範囲をコピー
d 選択範囲を削除
c 選択範囲を置換

VSCode 関連操作

コマンド 説明
<C-p> ファイルを開く
<C-Shift-P> コマンドパレットを開く
<C-Shift-N> 新しいウィンドウを開く
<C-Shift-T> 閉じたタブを再び開く
<C-G> 行番号と列番号を表示
<C-K> カーソルを上に追加
<C-J> カーソルを下に追加
<C-Shift-K> カーソルを上の行に移動
<C-Shift-J> カーソルを下の行に移動
<C-Shift-L> 行の末尾にカーソルを追加
<C-Shift-H> 行の先頭にカーソルを追加
<C-Shift-A> すべての選択範囲を選択
<C-Shift-S> ファイルを保存
<C-Shift-W> ファイルを閉じる
<C-Shift-Q> VSCodeを閉じる
<C-Shift-X> ファイルを別の名前で保存
<C-Shift-F> ファイル全体を検索
<C-Shift-R> ファイル全体を置換

サジェスチョン操作

コマンド 説明
ctrl+j 次のサジェストを選択
ctrl+k 前のサジェストを選択

コマンドパレット操作

コマンド 説明
ctrl+j 次のコマンドを選択
ctrl+k 前のコマンドを選択

エディター以外の操作

コマンド 説明
space x タブを閉じる
space u 次のタブへ移動
space y 前のタブへ移動
space h Markdownプレビューから戻る
space oem_1 コマンドパレットを開く
space oem_plus ファイルを開く

サイドバー

コマンド 説明
ctrl+Space ctrl+Space サイドバーの表示/非表示を切り替える
space l サイドバーからエディターへフォーカスを移動
ctrl+space ctrl+e エクスプローラーを表示
ctrl+space e エクスプローラーを表示
ctrl+space d デバッグビューを表示
ctrl+space s バージョン管理ビューを表示
ctrl+space z 拡張機能ビューを表示

エクスプローラー操作

コマンド 説明
j エクスプローラーで下に移動
k エクスプローラーで上に移動
n 新規ファイルを作成
f 新規フォルダを作成
e ファイルをエクスプローラーで開く
r ファイル名を変更
d ファイルを削除
ctrl+space f ファイル全体を検索

パネル操作

コマンド 説明
ctrl+space k パネルからエディターへフォーカスを移動
ctrl+space p パネルの表示/非表示を切り替える
ctrl+space t ターミナルを表示
ctrl+space q エラー画面を表示
shift+space y ターミナルの前のペインへフォーカス
alt+left ターミナルの前のペインへフォーカス
shift+space u ターミナルの次のペインへフォーカス
alt+right ターミナルの次のペインへフォーカス

その他

コマンド 説明
:set number 行番号を表示
:set nonumber 行番号を非表示
:set hlsearch ハイライト検索を有効にする
:set nohlsearch ハイライト検索を無効にする
:set showcmd コマンドをステータスバーに表示
:set noshowcmd コマンドをステータスバーに非表示
:set incsearch 入力中に検索を動的に実行
:set noincsearch 入力中に検索を動的に実行しない
:set ignorecase 大文字小文字を区別しない検索
:set noignorecase 大文字小文字を区別する検索
:set smartcase 大文字が含まれる場合は大文字小文字を区別する検索
:set nosmartcase 大文字が含まれていても大文字小文字を区別しない検索
:set wrap 行折り返しを有効にする
:set nowrap 行折り返しを無効にする
:set ruler カーソルの位置をステータスバーに表示
:set noruler カーソルの位置をステータスバーに非表示
:set cursorline カーソル行をハイライト
:set nocursorline カーソル行をハイライトしない
:set cursorcolumn カーソル列をハイライト
:set nocursorcolumn カーソル列をハイライトしない

注記:

  • <Leader><Space> キーで置き換えられます。
  • nmap コマンドは使用されていません。
  • vim.handleKeys は設定内のキーバインドを無視します。
  • ctrl+Space は、CtrlキーとSpaceキーを同時に押します。
  • oem_1: キー、oem_plus+ キーです。
  • このチートシートは設定ファイルに記載されたキーバインドと、VSCodeのデフォルトキーバインドを反映しています。

設定ファイル

setting.json用の設定

    //========================================================================
    //VIM
    //========================================================================
    "vim.statusBarColorControl": false, //statusbarの色のコントロールをしない
    "vim.highlightedyank.enable": true, //yankした箇所をハイライト表示にする
    "vim.highlightedyank.color": "rgba(0, 240, 170, 0.5)", //yankした時の色
    "vim.highlightedyank.duration": 150, //yankした時の色の表示時間
    "vim.leader": "<space>", //Map Leaderの設定
    "vim.autoindent": true, //autoindent
    "vim.useSystemClipboard": true, //system clipboardと同期する
    "vim.hlsearch": true, //hlserch
    "vim.visualstar": true, //カーソル上にあるワードを"*"で検索
    "vim.useCtrlKeys": true, //諸々のctrlキーを使った操作が有効になる
    "vim.debug.silent": true, //アラートを出さない
    "vim.timeout": 1200, //入力のタイムアウト時間
    // vim plugin有効化
    "vim.easymotion": true, //easy motionを有効化
    "vim.surround": true, //surroundを有効にする
    //easy motion
    "vim.easymotionMarkerForegroundColorOneChar": "rgba(0,240,170,0.9)", //一文字目の色
    "vim.easymotionMarkerForegroundColorTwoCharFirst": "rgba(0,240,170,0.9)", //二文字目の色
    "vim.easymotionMarkerBackgroundColor": "", //背景色
    "vim.easymotionMarkerWidthPerChar": 19, //各文字に割り当てられている幅
    "vim.easymotionMarkerHeight": 0, //マーカーの高さ
        //================================================================================================================
    //key map for vim
    //keybinding.jsonと違いキーの組み合わせで処理待ちが発生しない
    //keyのデフォルトキーを使い,キー操作を定義したくても
    //デフォルトのコマンドが有効になる。(例えば、sh→0にしたくてもsのコマンドが有効になっている)
    //Leaderキーを入力後のコマンドは無視されているので、極力Leaderを活用するようにする。
    //beforeは必ず定義しなければならないが、afterまたはcommandsでコマンドを呼び出せる。whenによる操作も可能っぽい
    //================================================================================================================
    //nmap
    "vim.normalModeKeyBindings": [
        // {"before": ["s"],"after"               : [""]},                                             //unmap?
    ],
    //nnoremap
    "vim.normalModeKeyBindingsNonRecursive": [
        {
            "before": [
                "J"
            ],
            "after": [
                "1",
                "0",
                "j"
            ]
        }, //移動を早める
        {
            "before": [
                "K"
            ],
            "after": [
                "1",
                "0",
                "k"
            ]
        }, //移動を早める
        {
            "before": [
                "H"
            ],
            "after": [
                "0"
            ]
        }, //端に移動
        {
            "before": [
                "L"
            ],
            "after": [
                "$"
            ]
        }, //端に移動
        {
            "before": [
                "<Leader>",
                "h"
            ],
            "after": [
                "<C-w>",
                "h"
            ]
        }, //window移動
        {
            "before": [
                "<Leader>",
                "j"
            ],
            "after": [
                "<C-w>",
                "j"
            ]
        }, //window移動
        {
            "before": [
                "<Leader>",
                "k"
            ],
            "after": [
                "<C-w>",
                "k"
            ]
        }, //window移動
        {
            "before": [
                "<Leader>",
                "l"
            ],
            "after": [
                "<C-w>",
                "l"
            ]
        }, //window移動
        {
            "before": [
                "]"
            ],
            "commands": [
                {
                    "command": "C_Cpp.PeekDeclaration"
                }
            ],
            "when": [
                "editorLangId == c"
            ]
        }, //宣言を見る c専用
        {
            "before": [
                "["
            ],
            "commands": [
                {
                    "command": "editor.action.peekDefinition"
                }
            ]
        }, //定義を見る
        {
            "before": [
                "<Leader>",
                "s"
            ],
            "commands": [
                ":split"
            ]
        }, //水平に開く
        {
            "before": [
                "<Leader>",
                "v"
            ],
            "commands": [
                ":vsplit"
            ]
        }, //水平にを閉じる
        {
            "before": [
                ">"
            ],
            "commands": [
                "editor.action.indentLines"
            ]
        }, //インデント調整(repeat可能)
        {
            "before": [
                "<"
            ],
            "commands": [
                "editor.action.outdentLines"
            ]
        }, //インデント調整(repeat可能)
        {
            "before": [
                "<Leader>",
                "u"
            ],
            "after": [
                "g",
                "t"
            ]
        }, //tab移動
        {
            "before": [
                "<Leader>",
                "y"
            ],
            "after": [
                "g",
                "T"
            ]
        }, //tab移動
        {
            "before": [
                "<Leader>",
                "x"
            ],
            "commands": [
                ":q!"
            ]
        }, //tabを閉じる
        {
            "before": [
                "<Leader>",
                "q"
            ],
            "commands": [
                ":qa!"
            ]
        }, //すべてを閉じる
        {
            "before": [
                "<Leader>",
                "w"
            ],
            "commands": [
                ":wa"
            ]
        }, //すべてを保存
        {
            "before": [
                "<Leader>",
                "o"
            ],
            "after": [
                "o",
                "<ESC>"
            ]
        }, //空の行を挿入
        {
            "before": [
                "<Leader>",
                "O"
            ],
            "after": [
                "O",
                "<ESC>"
            ]
        }, //空の行を挿入
        {
            "before": [
                "<Leader>",
                "c"
            ],
            "commands": [
                {
                    "command": "editor.action.commentLine"
                }
            ]
        }, //コメント
        {
            "before": [
                "<Leader>",
                ":"
            ],
            "commands": [
                {
                    "command": "workbench.action.showCommands"
                }
            ]
        }, //コマンドパレット
        {
            "before": [
                "<Leader>",
                ";"
            ],
            "commands": [
                {
                    "command": "workbench.action.quickOpen"
                }
            ]
        }, //ファイル検索
        {
            "before": [
                "<CR>"
            ],
            "after": [
                "G"
            ]
        }, //最終行へ
        {
            "before": [
                "<BS>"
            ],
            "after": [
                "g",
                "g"
            ]
        }, //先頭行へ
        // 検索結果を画面中央に
        {
            "before": [
                "n"
            ],
            "after": [
                "n",
                "z",
                "z"
            ]
        },
        {
            "before": [
                "N"
            ],
            "after": [
                "N",
                "z",
                "z"
            ]
        },
        {
            "before": [
                "*"
            ],
            "after": [
                "*",
                "z",
                "z"
            ]
        },
        {
            "before": [
                "#"
            ],
            "after": [
                "#",
                "z",
                "z"
            ]
        },
        //Surround
        {
            "before": [
                "s"
            ],
            "after": [
                "y",
                "s"
            ]
        }, //surround add
        //easy motion
        {
            "before": [
                "f"
            ],
            "after": [
                "<Leader>",
                "<Leader>",
                "2",
                "s"
            ]
        }, //easymotion 2s
        //Multi-Cursor Mode
        //prefix Ctrl 
        {
            "before": [
                "<C-n>",
            ],
            "after": [
                "g",
                "b"
            ]
        }, //選択した文字に対して増やす    
        {
            "before": [
                "<C-k>",
            ],
            "commands": [
                {
                    "command": "editor.action.insertCursorAbove"
                }
            ]
        }, //シンボルをリネーム(mulchipulcursor)   
        {
            "before": [
                "<C-j>",
            ],
            "commands": [
                {
                    "command": "editor.action.insertCursorBelow"
                }
            ]
        }, //シンボルをリネーム(mulchipulcursor)   
        //外部プラグイン呼び出し
        {
            "before": [
                "<Leader>",
                "@"
            ],
            "commands": [
                {
                    "command": "markdown-preview-enhanced.openPreviewToTheSide"
                }
            ]
        }, //markdownで開く
    ],
    //insert mode
    "vim.insertModeKeyBindings": [
        {
            "before": [
                "j",
                "j"
            ],
            "after": [
                "<Esc>"
            ]
        }, //jjでノーマルモードに戻る
        {
            "before": [
                ";",
                ";"
            ],
            "commands": [
                "editor.action.triggerSuggest"
            ]
        }, //;;でサジェストの起動に使う
        {
            "before": [
                "v",
                "L"
            ],
            "after": [
                "$",
                "h"
            ]
        }, //端に移動
        // {"before": ["<C-h>"],"after"    : ["0"]},                                                     //端に移動
        // {"before": ["<C-l>"],"after"    : ["$","h"]},                                                 //端に移動
    ],
    // Visual Mode
    "vim.visualModeKeyBindingsNonRecursive": [
        //vを押した直後はvのコマンドが残っているので注意
        //visualmode後にすぐ実行したいものは、二重で定義する。
        {
            "before": [
                "J"
            ],
            "after": [
                "1",
                "0",
                "j"
            ]
        }, //移動を早める
        {
            "before": [
                "v",
                "J"
            ],
            "after": [
                "1",
                "0",
                "j"
            ]
        }, //移動を早める
        {
            "before": [
                "K"
            ],
            "after": [
                "1",
                "0",
                "k"
            ]
        }, //移動を早める
        {
            "before": [
                "v",
                "K"
            ],
            "after": [
                "1",
                "0",
                "k"
            ]
        }, //移動を早める
        {
            "before": [
                "v"
            ],
            "after": [
                "a",
                "f"
            ]
        }, //拡大選択
        {
            "before": [
                "v",
                "v"
            ],
            "after": [
                "a",
                "f"
            ]
        }, //拡大選択
        {
            "before": [
                "H"
            ],
            "after": [
                "0"
            ]
        }, //端に移動
        {
            "before": [
                "L"
            ],
            "after": [
                "$",
                "h"
            ]
        }, //端に移動
        {
            "before": [
                "v",
                "H"
            ],
            "after": [
                "0"
            ]
        }, //端に移動
        {
            "before": [
                "v",
                "L"
            ],
            "after": [
                "$",
                "h"
            ]
        }, //端に移動
        {
            "before": [
                ">"
            ],
            "commands": [
                "editor.action.indentLines"
            ]
        }, //インデント調整(repeat可能)
        {
            "before": [
                "<"
            ],
            "commands": [
                "editor.action.outdentLines"
            ]
        }, //インデント調整(repeat可能)
        {
            "before": [
                "<Leader>",
                ":"
            ],
            "commands": [
                {
                    "command": "workbench.action.showCommands"
                }
            ]
        }, //コマンドパレット
        {
            "before": [
                "<Leader>",
                ";"
            ],
            "commands": [
                {
                    "command": "workbench.action.quickOpen"
                }
            ]
        }, //ファイル検索
        {
            "before": [
                "<Leader>",
                "c"
            ],
            "commands": [
                {
                    "command": "editor.action.commentLine"
                }
            ]
        }, //コメント
        //Multi-Cursor Mode
        {
            "before": [
                "<C-n>"
            ],
            "after": [
                "g",
                "b"
            ]
        }, //選択した文字に対して増やす 
        {
            "before": [
                "<C-l>",
            ],
            "commands": [
                {
                    "command": "editor.action.insertCursorAtEndOfEachLineSelected"
                }
            ]
        }, //行末尾にカーソルを出す
        //外部プラグイン呼び出し
        {
            "before": [
                "<Leader>",
                "b"
            ],
            "commands": [
                {
                    "command": "alignment.align"
                }
            ]
        }, //揃える
        {
            "before": [
                "<Leader>",
                "v"
            ],
            "commands": [
                {
                    "command": "extension.commentaligner"
                }
            ]
        }, //コメントを揃える
    ],
    //vimではなくvscode側のキーを有効にする
    "vim.handleKeys": {
        "<C-a>": false, //全選択
        "<C-f>": false, //検索
        "<C-h>": false, //置換
    },

VSCode キーバインド設定 (keybindings.json)

[
    //========================================================================
    // vim ...            Editorでなら処理待ちが発生せず入力可能
    // keybinding.json    あらゆる場面で制御可能、入力をすると処理待ち発生
    // prefix Editor基本操作 (vim)                      -> space
    //        Editor none Active (keybindings.json)     -> space
    //        commandparet呼び出し (vim)                -> space
    //        基本UI操作(keybinding.json)               -> ctrl+space
    //          exprorer操作(keybinding.json)           -> none 
    //          サジェスチョン操作(keybindin.json)      ->ctrl
    //          コマンドパレット操作(keybindin.json)    ->ctrl
    //        sidebar呼び出し(keybinding.json)          -> cntr+space
    //        panel呼び出し(keybinding.json)            -> cntr+space
    //========================================================================
    //======================================================================================
    // bind方法はここを参照する
    // https://vscode-doc-jp.github.io/docs/getstarted/keybindings.html
    // https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts
    //======================================================================================
    // サジェスチョン操作
    {
        "key": "ctrl+j",
        "command": "selectNextSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "ctrl+k",
        "command": "selectPrevSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    //コマンドパレットの移動
    {
        "key": "ctrl+j",
        "command": "workbench.action.quickOpenSelectNext",
        "when": "inQuickOpen",
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.quickOpenSelectPrevious",
        "when": "inQuickOpen ",
    },
    //editorじゃない時の操作(editorではvscodevimのコマンドが有効になる)
    //tabを閉じる
    {
        "key": "space x",
        "command": "workbench.action.closeActiveEditor",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus",
    },
    //tabを進める
    {
        "key": "space u",
        "command": "workbench.action.nextEditor",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus"
    },
    //tabを戻す
    {
        "key": "space y",
        "command": "workbench.action.previousEditor",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus",
    },
    //markdownのpreviewから戻る
    {
        "key": "space h",
        "command": "workbench.action.focusPreviousGroup",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus",
    },
    //コマンドパレットを開く
    {
        "key": "space oem_1",
        "command": "workbench.action.showCommands",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus"
    },
    //ファイルを開く
    {
        "key": "space oem_plus",
        "command": "workbench.action.quickOpen",
        "when": "!editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen && !sideBarFocus && !panelFocus"
    },
    /* -------------------------------------------------------------------------- */
    /*                                  sidebar                                   */
    /* -------------------------------------------------------------------------- */
    //サイドバー表示(toggle)
    {
        "key": "ctrl+Space ctrl+Space",
        "command": "workbench.action.toggleSidebarVisibility",
        "when": "!explorerViewletVisible && !searchViewletVisible && !inDebugMode && vim.mode != 'SearchInProgressMode' && vim.mode != 'Insert'"
    },
    {
        "key": "ctrl+Space ctrl+Space",
        "command": "workbench.action.toggleSidebarVisibility",
        "when": "explorerViewletVisible && !searchViewletVisible && !inDebugMode && vim.mode != 'SearchInProgressMode' && vim.mode != 'Insert'"
    },
    // サイドバーからの移動 
    {
        "key": "space l",
        "command": "workbench.action.focusFirstEditorGroup",
        "when": "explorerViewletVisible && explorerViewletFocus && !editorFocus && !inQuickOpen"
    },
    /* -------------------------------- explorer -------------------------------- */
    //explorer表示
    {
        "key": "ctrl+space ctrl+e",
        "command": "workbench.view.explorer"
    },
    {
        "key": "ctrl+space e",
        "command": "workbench.view.explorer"
    },
    //エクスプローラー間移動
    {
        "key": "j",
        "command": "list.focusDown",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    {
        "key": "k",
        "command": "list.focusUp",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    //新規ファイル作成
    {
        "key": "n",
        "command": "explorer.newFile",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    //新規フォルダ作成
    {
        "key": "f",
        "command": "explorer.newFolder",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    //エクスプローラーでフォルダを開く
    {
        "key": "e",
        "command": "revealFileInOS",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    //リネーム
    {
        "key": "r",
        "command": "renameFile",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    //削除
    {
        "key": "d",
        "command": "deleteFile",
        "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
    },
    // //svn操作
    // {
    //     "key": "s",
    //     "command": "tortoise-svn ...",
    //     "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus",
    //     "args":"explorerPath",
    // },
    /* ----------------------------- grep検索(sidebar) ---------------------------- */
    {
        "key": "ctrl+space f",
        "command": "workbench.action.findInFiles",
        "when": "!searchInputBoxFocus"
    },
    /* ---------------------------- debug(sidebar) ---------------------------- */
    {
        "key": "ctrl+space d",
        "command": "workbench.view.debug"
    },
    /* -------------------------- version管理(sidebar) -------------------------- */
    {
        "key": "ctrl+space s",
        "command": "workbench.view.scm"
    },
    /* --------------------------- plugin管理(sidebar) -------------------------- */
    {
        "key": "ctrl+space z",
        "command": "workbench.view.extensions"
    },
    /* -------------------------------------------------------------------------- */
    /*                                    Panel                                   */
    /* -------------------------------------------------------------------------- */
    //パネルから戻る
    {
        "key": "ctrl+space k",
        "command": "workbench.action.focusLastEditorGroup",
        "when": "panelFocus && !editorTextFocus && !editorHasSelection && !editorHasMultipleSelections && !inQuickOpen"
    },
    //パネルを出す
    {
        "key": "ctrl+space p",
        "command": "workbench.action.togglePanel",
        "when": "vim.mode != 'SearchInProgressMode' && vim.mode != 'Insert'"
    },
    /* ---------------------------- terminal(panel) --------------------------- */
    //現状使わないので消しておく
    {
        "key": "ctrl+space t",
        "command": "workbench.action.terminal.toggleTerminal",
        "when": "vim.mode != 'SearchInProgressMode' && vim.mode != 'Insert'",
    },
    /* ---------------------------- error画面(panel) ---------------------------- */
    {
        "key": "ctrl+space q",
        "command": "workbench.actions.view.problems"
    },
    {
        "key": "shift+space y",
        "command": "workbench.action.terminal.focusPreviousPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "alt+left",
        "command": "-workbench.action.terminal.focusPreviousPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "shift+space u",
        "command": "workbench.action.terminal.focusNextPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "alt+right",
        "command": "-workbench.action.terminal.focusNextPane",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
]

VimとVSCodeVimの違いをなるべく減らす設定に記載されている設定とほとんど同じです。

参考

他にも見た気がするので、思い出したら追加します...

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?