VSCodeVim Командный режим и русская раскладка
Установил VSCodeVim. Все круто, но расстраивает необходимость постоянно переключать раскладку в командном режиме. Кто знает как сделать так, что бы в командном режиме на любой раскладке редактор реагировал одинаково?
Ответы (1 шт):
Автор решения: dinpin
→ Ссылка
Добавь маппинг русских клавиш на английские. Это позволит пользоваться большинством команд, не переключая расскладку. Только остается проблема с такими командами как ^, $, /, ? - на русской раскладке они становятся ;, :, ., ,.
В settings.json:
"vim.normalModeKeyBindings": [
{ "before": ["й"], "after": ["q"] },
{ "before": ["ц"], "after": ["w"] },
{ "before": ["у"], "after": ["e"] },
{ "before": ["к"], "after": ["r"] },
{ "before": ["е"], "after": ["t"] },
{ "before": ["н"], "after": ["y"] },
{ "before": ["г"], "after": ["u"] },
{ "before": ["ш"], "after": ["i"] },
{ "before": ["щ"], "after": ["o"] },
{ "before": ["з"], "after": ["p"] },
{ "before": ["х"], "after": ["["] },
{ "before": ["ъ"], "after": ["]"] },
{ "before": ["ф"], "after": ["a"] },
{ "before": ["ы"], "after": ["s"] },
{ "before": ["в"], "after": ["d"] },
{ "before": ["а"], "after": ["f"] },
{ "before": ["п"], "after": ["g"] },
{ "before": ["р"], "after": ["h"] },
{ "before": ["о"], "after": ["j"] },
{ "before": ["л"], "after": ["k"] },
{ "before": ["д"], "after": ["l"] },
{ "before": ["ж"], "after": [";"] },
{ "before": ["э"], "after": ["'"] },
{ "before": ["я"], "after": ["z"] },
{ "before": ["ч"], "after": ["x"] },
{ "before": ["с"], "after": ["c"] },
{ "before": ["м"], "after": ["v"] },
{ "before": ["и"], "after": ["b"] },
{ "before": ["т"], "after": ["n"] },
{ "before": ["ь"], "after": ["m"] },
{ "before": ["б"], "after": [","] },
{ "before": ["ю"], "after": ["."] },
{ "before": ["Й"], "after": ["Q"] },
{ "before": ["Ц"], "after": ["W"] },
{ "before": ["У"], "after": ["E"] },
{ "before": ["К"], "after": ["R"] },
{ "before": ["Е"], "after": ["T"] },
{ "before": ["Н"], "after": ["Y"] },
{ "before": ["Г"], "after": ["U"] },
{ "before": ["Ш"], "after": ["I"] },
{ "before": ["Щ"], "after": ["O"] },
{ "before": ["З"], "after": ["P"] },
{ "before": ["Х"], "after": ["{"] },
{ "before": ["Ъ"], "after": ["}"] },
{ "before": ["Ф"], "after": ["A"] },
{ "before": ["Ы"], "after": ["S"] },
{ "before": ["В"], "after": ["D"] },
{ "before": ["А"], "after": ["F"] },
{ "before": ["П"], "after": ["G"] },
{ "before": ["Р"], "after": ["H"] },
{ "before": ["О"], "after": ["J"] },
{ "before": ["Л"], "after": ["K"] },
{ "before": ["Д"], "after": ["L"] },
{ "before": ["Ж"], "after": [":"] },
{ "before": ["Э"], "after": ["\""] },
{ "before": ["Я"], "after": ["Z"] },
{ "before": ["Ч"], "after": ["X"] },
{ "before": ["С"], "after": ["C"] },
{ "before": ["М"], "after": ["V"] },
{ "before": ["И"], "after": ["B"] },
{ "before": ["Т"], "after": ["N"] },
{ "before": ["Ь"], "after": ["M"] },
{ "before": ["Б"], "after": ["<"] },
{ "before": ["Ю"], "after": [">"] }
],
"vim.operatorPendingModeKeyBindings": [
{ "before": ["й"], "after": ["q"] },
{ "before": ["ц"], "after": ["w"] },
{ "before": ["у"], "after": ["e"] },
{ "before": ["к"], "after": ["r"] },
{ "before": ["е"], "after": ["t"] },
{ "before": ["н"], "after": ["y"] },
{ "before": ["г"], "after": ["u"] },
{ "before": ["ш"], "after": ["i"] },
{ "before": ["щ"], "after": ["o"] },
{ "before": ["з"], "after": ["p"] },
{ "before": ["х"], "after": ["["] },
{ "before": ["ъ"], "after": ["]"] },
{ "before": ["ф"], "after": ["a"] },
{ "before": ["ы"], "after": ["s"] },
{ "before": ["в"], "after": ["d"] },
{ "before": ["а"], "after": ["f"] },
{ "before": ["п"], "after": ["g"] },
{ "before": ["р"], "after": ["h"] },
{ "before": ["о"], "after": ["j"] },
{ "before": ["л"], "after": ["k"] },
{ "before": ["д"], "after": ["l"] },
{ "before": ["ж"], "after": [";"] },
{ "before": ["э"], "after": ["'"] },
{ "before": ["я"], "after": ["z"] },
{ "before": ["ч"], "after": ["x"] },
{ "before": ["с"], "after": ["c"] },
{ "before": ["м"], "after": ["v"] },
{ "before": ["и"], "after": ["b"] },
{ "before": ["т"], "after": ["n"] },
{ "before": ["ь"], "after": ["m"] },
{ "before": ["б"], "after": [","] },
{ "before": ["ю"], "after": ["."] },
{ "before": ["Й"], "after": ["Q"] },
{ "before": ["Ц"], "after": ["W"] },
{ "before": ["У"], "after": ["E"] },
{ "before": ["К"], "after": ["R"] },
{ "before": ["Е"], "after": ["T"] },
{ "before": ["Н"], "after": ["Y"] },
{ "before": ["Г"], "after": ["U"] },
{ "before": ["Ш"], "after": ["I"] },
{ "before": ["Щ"], "after": ["O"] },
{ "before": ["З"], "after": ["P"] },
{ "before": ["Х"], "after": ["{"] },
{ "before": ["Ъ"], "after": ["}"] },
{ "before": ["Ф"], "after": ["A"] },
{ "before": ["Ы"], "after": ["S"] },
{ "before": ["В"], "after": ["D"] },
{ "before": ["А"], "after": ["F"] },
{ "before": ["П"], "after": ["G"] },
{ "before": ["Р"], "after": ["H"] },
{ "before": ["О"], "after": ["J"] },
{ "before": ["Л"], "after": ["K"] },
{ "before": ["Д"], "after": ["L"] },
{ "before": ["Ж"], "after": [":"] },
{ "before": ["Э"], "after": ["\""] },
{ "before": ["Я"], "after": ["Z"] },
{ "before": ["Ч"], "after": ["X"] },
{ "before": ["С"], "after": ["C"] },
{ "before": ["М"], "after": ["V"] },
{ "before": ["И"], "after": ["B"] },
{ "before": ["Т"], "after": ["N"] },
{ "before": ["Ь"], "after": ["M"] },
{ "before": ["Б"], "after": ["<"] },
{ "before": ["Ю"], "after": [">"] }
],
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": ["й"], "after": ["q"] },
{ "before": ["ц"], "after": ["w"] },
{ "before": ["у"], "after": ["e"] },
{ "before": ["к"], "after": ["r"] },
{ "before": ["е"], "after": ["t"] },
{ "before": ["н"], "after": ["y"] },
{ "before": ["г"], "after": ["u"] },
{ "before": ["ш"], "after": ["i"] },
{ "before": ["щ"], "after": ["o"] },
{ "before": ["з"], "after": ["p"] },
{ "before": ["х"], "after": ["["] },
{ "before": ["ъ"], "after": ["]"] },
{ "before": ["ф"], "after": ["a"] },
{ "before": ["ы"], "after": ["s"] },
{ "before": ["в"], "after": ["d"] },
{ "before": ["а"], "after": ["f"] },
{ "before": ["п"], "after": ["g"] },
{ "before": ["р"], "after": ["h"] },
{ "before": ["о"], "after": ["j"] },
{ "before": ["л"], "after": ["k"] },
{ "before": ["д"], "after": ["l"] },
{ "before": ["ж"], "after": [";"] },
{ "before": ["э"], "after": ["'"] },
{ "before": ["я"], "after": ["z"] },
{ "before": ["ч"], "after": ["x"] },
{ "before": ["с"], "after": ["c"] },
{ "before": ["м"], "after": ["v"] },
{ "before": ["и"], "after": ["b"] },
{ "before": ["т"], "after": ["n"] },
{ "before": ["ь"], "after": ["m"] },
{ "before": ["б"], "after": [","] },
{ "before": ["ю"], "after": ["."] },
{ "before": ["Й"], "after": ["Q"] },
{ "before": ["Ц"], "after": ["W"] },
{ "before": ["У"], "after": ["E"] },
{ "before": ["К"], "after": ["R"] },
{ "before": ["Е"], "after": ["T"] },
{ "before": ["Н"], "after": ["Y"] },
{ "before": ["Г"], "after": ["U"] },
{ "before": ["Ш"], "after": ["I"] },
{ "before": ["Щ"], "after": ["O"] },
{ "before": ["З"], "after": ["P"] },
{ "before": ["Х"], "after": ["{"] },
{ "before": ["Ъ"], "after": ["}"] },
{ "before": ["Ф"], "after": ["A"] },
{ "before": ["Ы"], "after": ["S"] },
{ "before": ["В"], "after": ["D"] },
{ "before": ["А"], "after": ["F"] },
{ "before": ["П"], "after": ["G"] },
{ "before": ["Р"], "after": ["H"] },
{ "before": ["О"], "after": ["J"] },
{ "before": ["Л"], "after": ["K"] },
{ "before": ["Д"], "after": ["L"] },
{ "before": ["Ж"], "after": [":"] },
{ "before": ["Э"], "after": ["\""] },
{ "before": ["Я"], "after": ["Z"] },
{ "before": ["Ч"], "after": ["X"] },
{ "before": ["С"], "after": ["C"] },
{ "before": ["М"], "after": ["V"] },
{ "before": ["И"], "after": ["B"] },
{ "before": ["Т"], "after": ["N"] },
{ "before": ["Ь"], "after": ["M"] },
{ "before": ["Б"], "after": ["<"] },
{ "before": ["Ю"], "after": [">"] }
]