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

Windows下Git Bash运行Vim时默认寄存器覆盖剪贴板问题

问题表现
  • Windows 10系统下通过Git Bash控制台启动Vim时,复制、删除文本的操作会直接覆盖系统剪贴板内容:执行yy复制当前行、dw删除单词这类操作后,系统剪贴板原有内容会被操作对应的文本替换。
  • 该异常仅在Git Bash控制台启动Vim时出现,Windows命令提示符运行Vim、使用GVim时均无该问题。
  • 问题环境版本:Vim 8.2,Git 2.36.1.windows.1,尝试重装Vim、升级Git版本均无法解决问题。
排查过程
  • 测试:set clipboard=unnamedplus配置后发现:不指定寄存器直接执行粘贴命令时,插入的是系统剪贴板内容而非Vim默认寄存器的内容:执行yy复制后,使用""p可以粘贴默认寄存器中存储的正确复制内容,直接执行p则会粘贴系统剪贴板内容。
  • 问题疑似在Git Bash中运行过一段调用剪贴板的PyQt6脚本后开始出现,对应代码片段如下:
QApplication.clipboard().text()
  • 执行:set clipboard?命令查询Vim当前配置,发现剪贴板选项被异常设置为clipboard=unnamed——该配置会将Vim默认寄存器与系统剪贴板直接绑定,所有复制、删除操作的内容都会同步写入系统剪贴板,和异常表现完全匹配。
修复方案

编辑Vim用户配置文件.vimrc,添加如下配置移除异常的剪贴板绑定即可:

set clipboard-=unnamed

添加配置后重启Vim,复制删除操作覆盖系统剪贴板的问题会完全消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:15:33