在MobaXTerm中更改Vim光标

时间:2015-08-30 17:45:29

标签: vim ssh putty xterm mobaxterm

我最近在我的Windows机器上从MobaXterm 7.7更新到MobaXterm 8.1,以满足我的SSH和X11需求。

由于这样做,当我进入不同的模式(即插入模式)时,我的Vim游标停止了变化 - 光标现在总是一个块光标。另外,我注意到如果我在MobaXterm中更改默认的Terminal Cursor设置,控制台游标仍然是一个块游标(可能是错误?)。

过去,我在.vimrc文件中添加了以下行来处理游标形状,但是自从更新到MobaXterm 8.1后,它就不再有用了。

let &t_ti.="\e[1 q"
let &t_SI.="\e[3 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

我很好奇是什么造成了这种情况。

在做了一些研究之后,我在MobaXterm 8.0更改日志中找到了以下行:

Improvement: The embedded terminal is now based on a plain PuTTY engine

如果我没记错的话,你在PuTTY环境中改变游标的能力有限。这是否意味着我在使用MobaXterm时无法再更改我的Vim游标?或者,是否有一些我不知道的.vimrc命令?这只是一个错误还是打算?

谢谢!

1 个答案:

答案 0 :(得分:0)

PuTTY的光标相关控制序列均不以“q”结尾。听起来好像MobaXterm的开发人员不想打扰应用他们的补丁。

检查当前的PuTTY源(0.65),它具有(如预期的)“有限”的能力来改变光标的外观。它在启用SCO / ANSI功能时处理这些转义序列:

  • \e[=2c(阻止光标)
  • \e[=1c(正常光标)
  • \e[0c(隐藏光标)
  • \e[= x ; y C(将光标从扫描线 x 绘制到< EM>ÿ)

此外,可以使用\e[?34h\e[?34l将光标更改为块光标(对于正常的“VT220”模式)。