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


46

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

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

Answers:


73

这个问题在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"

2
这对我有用,当使用mintty SSH到Linux服务器时
zzapper 2014年

2
非常感谢。要爱一个干净的解决方案,它可以在两种最烦人的情况下起作用:)
rld。

2
真好 不幸的是,在ConEmu中,这会影响整个会话的光标。也就是说,它可以按预期在vim中运行。在cygwin的终端模拟器中也可以正常工作。但是,谁使用它?;)
George Marian

几乎完美……但是当离开插入模式时,它将返回到行光标,直到您沿某个方向移动光标为止。
Joe Coder

1
为我使用了随Cmder自动安装的Vim版本。谢谢!
Bangash

33

在cygwin终端仿真器中有一个设置:

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


要完成此操作,此类选项与cygwin的任何其他Windows终端窗口相同。
mveroone

6
专业人士:我.vimrc可以与我的Linux或Windows更兼容.vimrc。缺点:现在,当我希望光标处于插入模式时,它会将其插入I模式。+1
Kazark

5
问题是关于在VIM中控制光标的问题,但是此答案会影响整个Shell会话的光标,无论是在命令提示符下还是在VIM中
David Alpert

1
@EdRandall这是关于Cygwin终端和vim的问题。这个答案与问题的Cygwin有关。
2016年

1
这不能完全回答问题。Vim使用两种类型的游标。 在正常,可视或命令模式下,这是一个障碍。在插入模式下,它是垂直条。这些说明是针对特定终端仿真器(cygwin)的全面更改,尽管大多数说明应具有类似的内容。因此,它会影响终端中各处的光标,更重要的是,它不会模仿vim的光标功能。
乔治·玛丽安

3

创建一个文件~/.minttyrc,在其下面添加一行

CursorType=block

然后重新启动mintty,这是Cygwin的默认终端。


0

或者,您可以创建一个批处理文件:

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

并运行它。

如果您不喜欢DOS命令窗口中闪烁的光标,也可以使用%COMSPEC%代替/bin/env/...并感到惊讶。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.