为什么 VIM 以替换模式启动?

Mic*_*ael 21 linux vim vi conemu

在几台新的 CentOS 7 机器上,我发现 VIM 自动以替换模式启动。

删除所有自动安装的.vimrc文件后,恢复正常行为。但是,如果我只是创建一个.vimrc(例如 touch ~/.vimrc),VIM 将开始默认启用替换模式......

Mic*_*ael 15

我刚刚发现该问题仅在使用 ConEmu 终端模拟器使用 Windows 10 1709 发布的本机 OpenSSH 客户端连接到远程系统时发生。如果我使用与本机 powershell 或 cmd 相同的客户端,则没有任何困难 - ConEmu 似乎是一个问题。希望这对其他人有帮助。

  • 我在 Windows 10 1809 上得到了同样的东西,使用内置的 SSH 客户端与运行某种 Linux 的 Synology NAS 设备对话。按照 [John Bolding's answer](/sf/answers/3812541981/) 中对类似问题的建议,设置`TERM=screen-256color-s` 似乎有效(到目前为止......! )。 (2认同)

小智 13

似乎是 utf-8 歧义字符和 Windows cmd 控制台的问题。标志 t_u7 是默认设置的,因此 vim 将请求光标位置并从 ssh 客户端获得错误回复。

解决方法:将set t_u7=或添加set ambw=double到您的 vimrc 应该可以解决问题。set t_u7=将禁用请求光标位置并将ambw=double模糊字符模式设置为双倍。

有关更多信息,请参阅 vim 参考手册:https : //vimhelp.org/term.txt.html

  • `set ambw=double` 似乎与航空公司/电力线字符冲突。我在 <| 后面看到多余的空格 箭头。不过 `set t_u7=` 有效! (3认同)
  • 我在 WSL 1 中使用 Windows 终端 1.2.2381 和 Ubuntu 20.04.1。这个问题最近似乎自发地开始 - 也许最近自动更新了一些东西。无论如何,此修复程序解决了问题。 (3认同)