VSCode Vim插件将g_映射为$无效,如何解决?
解决VSCode Vim插件
v$选中跳转下一行的问题 - 问题根源:VSCode Vim插件默认的
$在可视模式下会包含行尾换行符,导致执行v$时光标跳到下一行开头,执行d删除时会合并下一行内容。 - 正确配置方案:修改
settings.json中的可视模式按键绑定,将$映射为g_(g_在Vim中定位到行最后一个非空白字符,不会选中换行符),让行为和原生Vim/JetBrains Vim对齐。
具体配置代码:
"vim.visualModeKeyBindings": [ { "before": ["$"], "after": ["g", "_"] } ]
- 配置说明:该绑定会在可视模式下,将按下
$的操作替换为g_,执行v$时只会选中当前行内容,不会跳转至下一行。 - 若配置不生效,可添加生效条件避免按键冲突:
"vim.visualModeKeyBindings": [ { "before": ["$"], "after": ["g", "_"], "when": "editorTextFocus && vim.active && vim.mode == 'Visual'" } ]
也可尝试启用插件的原生Vim兼容选项辅助修复:
"vim.useCtrlKeys": true, "vim.normalModeKeyBindingsNonRecursive": [ { "before": ["$"], "after": ["g", "_"] } ]
内容的提问来源于stack exchange,提问作者itsDanial
相关产品推荐
相关产品推荐

