如何在VSCode的Vim插件中仅启用普通、可视模式并禁用插入模式
你提的需求完全可以实现,以下是两种可行的操作方案:
方案1:完全禁用Vim插件插入模式的自定义快捷键
该方案实现后,Vim插入模式和VSCode原生编辑状态完全一致,所有原生快捷键不会被拦截:
- 打开VSCode设置页面,按快捷键
Ctrl + ,(Windows/Linux)或Cmd + ,(Mac) - 点击页面右上角的打开设置(JSON)图标,进入
settings.json编辑页 - 添加如下两行配置:
"vim.insertModeKeyBindings": [], "vim.insertModeKeyBindingsNonRecursive": []
- 保存配置后立即生效,不需要重启VSCode
如果你只是不想让Ctrl开头的快捷键被Vim拦截,不需要全禁用插入模式绑定,也可以直接在设置中搜索vim.useCtrlKeysInInsertMode,取消该选项的勾选即可。
方案2:仅调整指定原生快捷键的优先级
如果你还想保留部分Vim插入模式的快捷键,只需要让个别常用原生快捷键(比如你提到的Ctrl+j打开终端)优先生效,按下面操作即可:
VSCode默认用户自定义快捷键的优先级高于插件绑定的快捷键,所以只要重新绑定一次你需要的原生快捷键就可以覆盖Vim的绑定:
- 按
Ctrl + K再按Ctrl + S打开快捷键设置页面 - 搜索你要修改的快捷键对应的原生命令,比如你要保留
Ctrl+j开终端,就搜索toggleTerminal - 双击该命令项,按下你要绑定的
Ctrl+j,回车确认即可,新的绑定会自动覆盖Vim插件的快捷键配置。
注意:不需要手动修改
~/.vscode/extensions/vscodevim.vim-1.20.2/package.json文件,这种修改会在插件更新后丢失,使用上述用户自定义配置的方式更稳定。
内容的提问来源于stack exchange,提问作者user15596049
相关产品推荐
相关产品推荐

