我习惯在 Vim 的正常模式下使用块状光标。这符合 Vim 范式;按下 时x,可以清楚地知道要删除哪个字符。
我在 Windows 计算机上安装了 Cygwin,但当我在其终端中使用 Vim 时,I
即使在正常模式下,我也能看到光标。我怎样才能将光标改为块状?
答案1
这个问题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
在 cygwin 终端仿真器中有一个设置:
右键单击窗口标题栏 > 选项 > 外观 > 光标 > 光标单选按钮
答案3
创建一个文件~/.minttyrc
,向其中添加以下行
CursorType=block
然后重新启动mintty
,这是 Cygwin 的默认终端。
答案4
人们提出了@Kazark 的答案为整个 shell 会话设置光标的问题,要将其设置回一行,您可以做以下几件事:
在 .vimrc 中:
autocmd VimLeave * silent let &t_te.="\e[5 q"
当您离开 vim 时它应该会设置,但它并不完美(特别是当我在 Windows 和我连接到的 Linux 机器上运行 tmux 时),您可以发出:
printf '\033[5 q'
在命令提示符下。