如何在 Cygwin 终端的 Vim 中获取块光标?

Kaz*_*ark 55 cygwin vim cursor terminal-emulator

我习惯于在 Vim 中在正常模式下使用块光标。这对 Vim 范式来说是有意义的;当您按下 时x,很清楚哪个字符将被删除。

我已经在 Windows 计算机上安装了 Cygwin,但是当我在其终端中使用 Vim 时I,即使在正常模式下,我也会得到光标。我怎样才能让光标变成一个块呢?

Kaz*_*ark 86

这个问题在Cygwin邮件列表上回答了一些神秘的变量设置为适当的转义序列的问题。将此添加到您的.vimrc

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
Run Code Online (Sandbox Code Playgroud)

  • 当使用 mintty ssh 到 linux 服务器时,这对我有用 (3认同)
  • 好的。不幸的是,在 ConEmu 中,这会影响整个会话的光标。也就是说,它在 vim 中按预期工作。它在 cygwin 的终端模拟器中也能正常工作。但是,谁使用它?;) (3认同)
  • 非常感谢。一定要喜欢一个干净的解决方案,它适用于 2 个最烦人的情况:) (2认同)
  • 几乎完美......但是当离开插入模式时,它会返回到行光标,直到您将光标移动到某个方向。 (2认同)

小智 33

在 cygwin 终端模拟器中有一个设置:

右键单击窗口标题栏 > 选项 > 外观 > 光标 > 光标单选按钮

  • 优点:我的`.vimrc` 可以更兼容我的Linux 或Windows 的`.vimrc`。缺点:现在我在插入模式下有块光标,当我想要在该模式下的“I”光标时。+1 (7认同)
  • 问题是询问在 VIM 中控制光标,但此答案会影响整个 shell 会话的光标,无论是在命令提示符还是在 VIM 中 (6认同)