VSCode光标变成方块怎么解决_插入模式与光标形状恢复

9次阅读

vscode 光标变方块是因启用了 vim 插件的 Normal 模式,方块对应 Normal、竖线对应 Insert;可通过禁用插件、设置 “vim.cursorStylePerMode”: false 或卸载插件并配置 “editor.cursorStyle”: “line” 恢复竖线光标。

VSCode光标变成方块怎么解决_插入模式与光标形状恢复

VSCode 光标变成方块:这是 Vim 插件在起作用

VSCode 本身默认光标是竖线(|),出现方块光标()几乎可以确定是安装了 vim 插件(如 Vim by vscodevim)并启用了模拟 Vim 的模式切换。方块光标对应 Vim 的 Normal 模式,而竖线光标对应 Insert 模式。

关闭 Vim 模拟或禁用光标形状切换

如果你不需要 Vim 键绑定,最直接的解决方式是停用或卸载 vim 插件。如果仍需部分 Vim 功能,可通过配置禁用光标形状变化:

  • 打开 VSCode 设置(Ctrl+, Cmd+,
  • 搜索 vim.cursorStylePerMode
  • 取消勾选该项,或在 settings.json 中添加:
"vim.cursorStylePerMode": false

该设置会强制所有模式使用统一光标形状(默认为竖线)。注意:它不会禁用 Vim 模式切换逻辑,只是隐藏视觉提示。

手动切回插入模式但光标没变?检查当前模式状态

即使你按了 ia 等键进入插入模式,光标仍为方块,常见原因有:

  • vim.useSystemClipboard 或其他插件冲突导致模式状态未正确同步
  • 焦点不在编辑器主体(比如光标在搜索框、终端或侧边栏)
  • 按下了 Ctrl+Shift+P 后误触发了命令面板的 Vim 模式残留
  • 快捷键被系统级工具(如输入法、窗口管理器)劫持,Esc 无法正常退出 Normal 模式

快速确认当前模式:看 VSCode 窗口右下角状态栏——若显示 -- NORMAL ---- INSERT --,说明 Vim 插件正在工作;若无此提示,可能是插件已禁用但缓存未清,可尝试重启 VSCode。

彻底恢复默认光标:不依赖 Vim 插件的方案

如果只是想让光标永远是竖线,且不关心 Vim 行为,推荐以下组合配置:

  • 卸载 Vim 插件(或禁用)
  • 确保 editor.cursorStyle 设为 line(不是 blockunderline
  • 检查是否启用了 editor.smoothScrolling —— 它不影响形状,但偶发与光标渲染冲突

settings.json 中显式声明:

"editor.cursorStyle": "line"

注意:editor.cursorStyle 是 VSCode 原生命令,不受插件控制;但一旦装了 Vim 插件,它会优先接管该设置——所以必须先处理插件层逻辑,再调原生设置才生效。

text=ZqhQzanResources