В VSCode выйдите из режима вставки Vim при сохранении

Я использую VSCode с расширением VSCodeVim. В режиме вставки я могу нажать "CMD-S" для сохранения. Когда я это сделаю, я также хотел бы автоматически выйти из режима вставки вместо нажатия клавиши "ESC".

Это возможно?

2 ответа

Я также искал решение, похожее на эту проблему.

Похоже, что несколько команд не могут быть сопоставлены с привязками клавиш в vscode; Тем не менее, я нашел расширение, макросы, которые позволяют вам делать это.

Если вы используете приведенные ниже шаги с расширением макроса, я думаю, что у вас будет решение, которое вы ищете, пока vscode не реализует что-то для удовлетворения этого запроса.

Шаг первый, отредактируйте пользовательские настройки следующим образом:

"macros": {
    "saveandExitVimInsertMode": [
        "workbench.action.files.save",
        "extension.vim_escape"
    ]
}

Шаг второй, отредактируйте привязки клавиатуры:

    {
    "key": "cmd+s",
    "command": "macros.saveAndExitVimInsertMode"
    }

Расширение VSCodeVim поддерживает привязки клавиш в режиме вставки. Вот ссылка на расширение readme, описывающее эту функцию.

Вот фрагмент, который вы можете поместить в файл settings.json.

"vim.insertModeKeyBindingsNonRecursive": [
    {
        "before": [ "<C-s>" ],
        "commands": [
            { "command": "workbench.action.files.save" },
            { "command": "extension.vim_escape" }
        ]
    }
],

После перезагрузки окна vscode вы можете нажать ctrl+s, чтобы выйти из режима вставки и сохранить файл.

Откройте Показать палитру команд (Ctrl+Shift+P). введите "открытое сочетание клавиш", выполните поиск "extension.vim_escape" и измените его так, чтобы он выглядел как клавиша блокировки заглавных букв, равная 2 раза.

Другие вопросы по тегам