Vim:在改写模式下改变光标形状?

时间:2015-02-03 20:38:04

标签: vim xterm

在我的vimrc文件中,我输入以下代码以更改光标形状:

if &term =~ "xterm"
  " blinking vertical bar
  let &t_SI .= "\<Esc>[5 q"
  " blinking block
  let &t_EI .= "\<Esc>[1 q"
endif

它运行良好,但现在我想进一步改变光标形状(闪烁下划线),无论何时使用改写模式(r和R键)。 我怎么能做到这一点?

由于

2 个答案:

答案 0 :(得分:0)

Vim不支持此功能。要查看,请查看term.c中的term_cursor_shape()函数。这提供了您已经使用的插入/非插入的形状(作为termcap的扩展)。

vim使用的其他termcap符号是隐形(vi),普通(ve)和非常可见(vs)的传统风格。但是vim使用那些来处理滚动的怪癖。

进一步阅读,vim似乎唯一可以使替换状态可见的位置是screen.c中的showmode()函数

答案 1 :(得分:0)

您可以使用t_SR。例如,要获得建议的下划线,您的配置应如下所示:

if &term =~ "xterm"
  " blinking vertical bar
  let &t_SI .= "\<Esc>[5 q"
  " blinking block
  let &t_EI .= "\<Esc>[1 q"
  " blinking underscore
  let &t_SR .= "\<Esc>[3 q"
endif
相关问题