⌨️

VSCode Neovimの設定

に公開

VSCodeのVim環境としてVSCode Neovimを利用していますが、
Neovimのカスタム設定を、init.vimを使わずVSCodeだけで設定する方法をまとめました。

Neovimの設定は、neovim側の設定とvscode側の設定の2つがありますが、複数のPCを利用する場合neovim側の設定はPC変更のたびに移行する必要があり煩雑です。そのため、VSCode側の設定だけで簡潔するようにしてみました。

init.vimでしか反映できない設定

下記のようにafterInitConfigを使うことで、init.vimに記載したい内容をVSCodeに記述可能である。
例: clipboadの設定

    "vscode-neovim.afterInitConfig": [
        "set clipboard=unnamedplus"
    ],

深くは調べていないが、この部分の行数が増えるとロードが重くなるかもしれない?

settings.jsonの設定

jjによりescを実行するコマンド

    "vscode-neovim.compositeKeys": {
        "jj": {
            "command": "vscode-neovim.escape"
        }
    },
    "extensions.experimental.affinity": {
        "asvetliakov.vscode-neovim": 1
    },

keybindings.jsonの設定

画面分割周りの設定はこちら。
デフォルトのコマンドとは少し違うかもしれません。

    //カーソル移動
    {
        "key": "ctrl+w h",
        "command": "workbench.action.focusLeftGroup"
    },
    {
        "key": "ctrl+w l",
        "command": "workbench.action.focusRightGroup"
    },
    {
        "key": "ctrl+w k",
        "command": "workbench.action.focusAboveGroup"
    },
    {
        "key": "ctrl+w j",
        "command": "workbench.action.focusBelowGroup"
    },
    //画面移動
    {
        "key": "ctrl+w ctrl+h",
        "command": "workbench.action.moveEditorToPreviousGroup"
    },
    {
        "key": "ctrl+w ctrl+l",
        "command": "workbench.action.moveEditorToNextGroup"
    },
    {
        "key": "ctrl+w ctrl+k",
        "command": "workbench.action.moveEditorToAboveGroup"
    },
    {
        "key": "ctrl+w ctrl+j",
        "command": "workbench.action.moveEditorToBelowGroup"
    },

Discussion