vs code光标变粗且无法输入的最常见原因是启用了vim插件进入normal模式,或误触insert键进入覆盖模式;按i可切换输入、按insert键可切换回插入模式。

光标变粗且无法输入文字的常见原因
VS Code 里光标突然变粗(像块竖线或方块),同时按键盘没反应,大概率不是编辑器崩溃,而是进入了「vim 插件的 Normal 模式」。你没装 vim 插件?那也可能是 insertMode 被意外关闭、或者键盘被锁定了某种输入模式。
检查是否启用了 Vim 插件(尤其是 vim mode)
VS Code 默认不带 vim 模式,但很多人会装 Vim 扩展(作者:vscodevim)。一旦启用,它会接管光标行为——Normal 模式下光标是粗的、不能打字;只有按 i 或 a 进入 Insert 模式才能输入。
- 按
Esc看是否能“退出”当前状态(如果原本在 Normal 模式,按一次Esc会触发一次提示,再按就回到 Normal) - 按
i,看光标是否变细、能否开始输入 - 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),搜Vim: Toggle Vim Mode,试试关闭它 - 不想卸载插件?可在设置里搜索
vim.enableNeovim或vim.useSystemClipboard,先关掉整个扩展看看是否恢复
不是 vim?检查键盘布局和系统级输入法锁定
Windows/macOS 上某些输入法(比如微软拼音、搜狗、RIME)在「中文模式」下可能把 Insert 键映射成切换中英文,而误按 Insert 会让 VS Code 进入「覆盖模式(Overtype)」——光标变粗、输入时字符被替换而非插入。这不是 bug,是编辑器原生支持的模式。
- 按一次
Insert键(通常在数字小键盘上方或主键盘右上角),看光标是否立刻变细 - 检查右下角状态栏:如果有
INS或OVR字样,说明正处在覆盖模式 - macOS 用户注意:
Fn+Enter或外接键盘的Clear键有时等效于Insert,容易误触
其他可能性:配置项被改、渲染异常或快捷键冲突
极少数情况是 "editor.cursorStyle" 被手动设成了 "block",同时 "editor.readOnly" 被意外开启,或者某个扩展注入了只读逻辑(比如 GitLens 的 diff 视图、Remote-SSH 连接未就绪时的文件)。
- 打开设置(
Ctrl+,),搜cursorStyle,确认值是"line"(默认)而不是"block"或"underline" - 搜
readOnly,确保没有全局或工作区级的editor.readOnly: true - 临时禁用所有扩展(
Ctrl+Shift+P→Developer: Disable All Installed Extensions),重启 VS Code 测试 - 如果只在某类文件(如
.gitignore、远程文件、只读文件系统)里出问题,优先检查文件权限和扩展行为,而非编辑器本身
最常被忽略的是:你以为自己在打字,其实光标卡在某个只读区域(比如终端输出面板、调试控制台、或一个被扩展标记为不可编辑的预览页)。先盯一眼窗口标题和状态栏左下角的文件路径,再动手调设置。










