Как использовать vim (привязки ключей) с расширением vim Visual Studio Code vim
Я только начал использовать Visual Studio Code и считаю, что это действительно здорово. Также установлено расширение vim, но я борюсь с отображением esc на другой ключ.
Обычно у меня это:
:imap jj <Esc>
И я вижу, что VS Code имеет файл keybindings.json. Я попробовал это:
[{
"key": "jj",
"command": "vim.Esc",
"when": "editorTextFocus"
}]
Также есть файл settings.json, поэтому я попробовал:
{
"vim.keyboardLayout": "en-US (QWERTY)",
"vim.insertModeKeyBindings": {
"j": "vim.Esc"
}
}
И не работал. Так кто-нибудь знает, как использовать расширение vim с VS Code, где я могу сопоставить jj
с Esc
или что-то еще с Esc
возможно?
Ответы
Ответ 1
Я один из разработчиков VSCodeVim. Я настоятельно рекомендую задавать вопросы либо на нашем слабом канале, либо через нашу страницу проблем (вы можете найти их на README в Github).
Для завершения, вот ответ на ваш вопрос:
Добавьте следующие параметры в settings.json (откройте "Пакет команд" и выполните поиск "Настройки пользователя"):
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<esc>"]
}
]
Это должно сделать это.
Ответ 2
Из этой проблемы я узнал, что вы можете использовать что-то вроде
{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" },
Но это связано с проблемой неспособности использовать j
для перемещения.
PS. Я знаю, что это не полный ответ, а что-то, что нужно сделать.
Ответ 3
Если вы работаете в Linux и используете setxkbmap
для переназначения Esc
на Caps-Lock
и возникают проблемы, я предлагаю следующее решение Fix для переназначения Esc.
Решение состоит в том, чтобы добавить в пользовательские настройки следующее:
"keyboard.dispatch": "keyCode"
После этого вы должны сохранить и перезапустить