VSCode:エディタ間移動のkeybindings

コード編集中は、よく参照用などにエディタを分割して行ったり来たりする。
エディタ間の移動を、Ctrl+wをプレフィックスにしたVim風キーバインドにしてみたのでメモ。

参考:
デフォルトでは、Ctrl+[1-9]で1~9番目のエディタグループに移動できます。

設定

  • Ctrl+w c: 編集中のエディタを閉じる
  • Ctrl+w s: エディタを縦に分割
  • Ctrl+w v: エディタを横に分割
  • Ctrl+w n/p: 次/前のエディタに移動
  • Ctrl+w h/l: 左/右のエディタに移動
  • Ctrl+w j/k: 下/上のエディタに移動
  • Ctrl+w </>: エディタサイズを縮小/拡大

最後のエディタサイズの拡縮は、左右分割&先頭グループ以外でやると、不等号の向きとウインドウの動きが一致しないのでちょっと気持ち悪い。先頭グループ以外で押すことは少ないので目をつぶる。

{
    // [ctrl+w -> c] close active editor.
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeWindow",
    },
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeActiveEditor"
    },
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeGroup",
    },
    {
        "key": "ctrl+w c",
        "command": "workbench.action.closeActiveEditor",
        "when": "editorFocus",
    },
    // [ctrl+w -> s/v] split editor.
    {
        "key": "ctrl+w s",
        "command": "workbench.action.splitEditorDown",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w v",
        "command": "workbench.action.splitEditorRight",
        "when": "editorFocus",
    },
    // [ctrl+w -> n/p/h/j/k/l] move editor.
    {
        "key": "ctrl+w n",
        "command": "workbench.action.focusNextGroup",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w p",
        "command": "workbench.action.focusPreviousGroup",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w h",
        "command": "workbench.action.focusLeftGroup",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w j",
        "command": "workbench.action.focusBelowGroup",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w k",
        "command": "workbench.action.focusAboveGroup",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w l",
        "command": "workbench.action.focusRightGroup",
        "when": "editorFocus",
    },
    // [ctrl+w -> </>] resize editor.
    {
        "key": "ctrl+w shift+[Period]",
        "command": "workbench.action.increaseViewSize",
        "when": "editorFocus",
    },
    {
        "key": "ctrl+w shift+[Comma]",
        "command": "workbench.action.decreaseViewSize",
        "when": "editorFocus",
    },
}

おまけ

エディタ切り替えの挙動と、サイドバーからエディタに戻りにくいので以下も追加。

  • Ctrl+Tab: すべてのエディタの一覧を表示(もともとはアクティブグループのみ、かつ手を離したら一覧が消える)
  • Escape: サイドバー操作中にEscでエディタに戻る
{
    // [ctrl+tab] show editor list in all group.
    {
        "key": "ctrl+tab",
        "command": "workbench.action.showAllEditors",
    },
    // [esc] move move to editor when sidebar is focus.
    {
        "key": "Escape",
        "command": "workbench.action.focusActiveEditorGroup",
        "when": "sideBarVisible",
    },
}

参考:
デフォルトでは、各サイドバーのショートカットをもう一度押すとエディタに戻れます。
Ctrl+Shift+E (Explorerに移動) -> Ctrl+Shift+E (エディタに戻る))

コメント

このブログの人気の投稿

TensorFlow2:TensorBoardのグラフがうまく表示されず困った件

TensorFlow2:ログディレクトリ指定時のみSummaryを保存する

TensorFlow2:kerasの継承モデルのSummaryを表示する