经过反复测试,直接不执行任何操作,在 vscode 终端依然有这个问题。可能之前一直只是顺序输入,从来没发现这个问题,用 claude code 经常往回修改文字发现了这个问题。
网上基本都是修改终端字体,关 GPU 渲染,换系统自带输入法,.zshrc 里强制 UTF-8 ,修改终端渲染方式等方法都逐个反复开关组合测试,问题依旧。
vscode 里的终端是通过 xterm.js 渲染的,整个应用外面还有一层 electron 壳,大概率是与中文输入法的问题,但我看到官方曾经有一个提交似乎处理过搜狗输入法的问题:
https://github.com/xtermjs/xterm.js/issues/3533 ,于是我装了一个搜狗,问题依旧存在。
搜索 Issues 里的东西,
https://github.com/xtermjs/xterm.js/issues?q=IME 看到许多有关中文输入的问题,但都跟我的情况不一样。
所以我现在怀疑,最大的可能是这几年不知道装了什么东西,在系统层面影响了 vscode 里 xterm.js 在运行 zsh 时载入了什么别的东西,因为我用同一份 timemachine 几年前还原我的另一台 macbook ,发现这台 macbook 也有同样的问题。
于是我执行 `PS4='+%N:%i> ' zsh -xvic 'exit' 2>~/zsh_startup_trace.txt` 没有什么特殊的或者说系统外的东西在里面。
即使我再执行 /bin/zsh -f 以及尝试屏蔽所有扩展启动 vscode ,问题依然存在。
然后我问了 GPT5 还有 claude 以及 grok ,反反复复试他们给出的解决方案,既没有解决问题,也没有发现网上有人报告跟我一样的问题。