Вместо повторного связывания вы можете просто остановить расширение vscodevim
от обработки Ctrl-C и Ctrl-V полностью, что затем позволяет VSCode обрабатывать их самостоятельно. Это можно сделать, поместив приведенный ниже код в файл settings.json
расширения:
"vim.handleKeys": {
"<C-c>": false,
"<C-v>": false
}
. Это будет работать независимо от того, в каком режиме вы находитесь, и идеально подойдет для системного буфера обмена. Я не уверен, нужен ли <C-c>
, но <C-v>
определенно необходим, поскольку <C-v>
является стандартным аккордом Vim для входа в режим визуального блока.
В качестве отступления, ваш метод повторного связываниясовершенно верно;это просто требует немного больше кода:
// For visual mode
"vim.visualModeKeyBindings": [
{
"before": ["<C-c>"],
"after": ["\"", "+", "y"]
},
{
"before": ["<C-v>"],
"after": ["\"", "+", "p"]
}
],
// For normal mode
"vim.normalModeKeyBindings": [
{
"before": ["<C-c>"],
"after": ["\"", "+", "y"]
},
{
"before": ["<C-v>"],
"after": ["\"", "+", "p"]
}
]