You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中Vim插件:将Redo重映射至U键失败求助

解决VSCode Vim插件中U键绑定重做未生效的问题

我之前也踩过这个按键映射的坑,来帮你搞定它!

首先,你当前的配置没生效主要有两个原因:一是命令名称不对,二是没完全覆盖Vim插件默认的U键行为(默认U是撤销当前行的修改)。下面给你两种靠谱的解决方案:

方案一:直接绑定VSCode原生编辑命令

这种方式直接调用VSCode内置的撤销/重做功能,兼容性拉满。把下面的配置添加到你的settings.json里:

"vim.normalModeKeyBindingsNonRecursive": [
  // 将U键绑定为重做
  {
    "before": ["U"],
    "commands": [{ "command": "editor.action.redo" }]
  },
  // 确认u键绑定为撤销(如果之前没修改过默认配置,这行可以省略,原生u就是撤销)
  {
    "before": ["u"],
    "commands": [{ "command": "editor.action.undo" }]
  }
]

方案二:贴合Vim原生逻辑映射

如果你更习惯Vim的原生操作逻辑(Vim里重做是Ctrl+R),可以用after字段模拟按下原生快捷键,配置更简洁:

"vim.normalModeKeyBindingsNonRecursive": [
  {
    "before": ["U"],
    "after": ["<C-r>"]
  }
]

(u键默认就是撤销,除非你之前改过配置,否则不需要额外设置)

让配置生效的步骤

  • 按Ctrl+,(Windows/Linux)或Cmd+,(Mac)打开VSCode设置
  • 点击右上角的「打开设置(JSON)」按钮
  • 将上述配置粘贴到JSON文件中,保存修改
  • 按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),搜索并执行「Reload Window」,让配置生效

完成这些操作后,U键就能正常执行重做,u键保持撤销功能啦!

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:38:17