而没有tmux这些行足以实现我想要的功能:
let &t_SI = "\e[5 q"
let &t_EI = "\e[2 q"
但是无论如何我的tmux都会破坏它-光标具有块状,无论我处于哪种vim模式。
Cygwin x86
TMUX 1.9a
Vim 7.4.726(与+ cursorshape编译)
用于Cygwin终端或Cmder(两者方式,光标形状只能在没有TMUX的情况下工作) :
echo $TERM
我已经尝试过但没有成功的事情: “外观>光标”(它会永久更改光标,vim模式仍不会更改)
#1 楼
看来问题在于tmux不会将更改光标的转义码发送到终端仿真器。您需要将所需的转义代码包装在一个特殊的序列中,该序列告诉tmux应该将其传递到外部终端。\<Esc>Ptmux;\<Esc> ... \<Esc>\
是您的转义序列。因此,请尝试在您的
...
中执行以下操作:模拟器或cygwin,所以我无法测试此代码。但是该方法对我有用(我只是包装了其他适合我终端的转义代码)。评论
这甚至更好-无需更改我的.bashrc。谢谢。
–科萨克
15年5月29日在13:21
#2 楼
$TERM
环境变量的正确值非常重要。确保它与screen-256color
不同。例如,将其设置为xterm-256color
。
评论
Vim带有'+ cursorshape'功能吗?检查终端设置。这个问题看起来类似于superuser.com/questions/634326/…
您正在使用哪个终端仿真器?您是否尝试过让let&t_SI =“ \
@jjaderberg iTerm的转义序列?某些注意事项仅在iTerm中有效:iTerm Doc> iTerm2支持几种非标准的转义码。它们可能无法在tmux或屏幕上正常工作,并且可能对其他终端仿真器产生未知的影响。请谨慎操作。
我再检查一次我的软件,所有版本都与您的软件相同,但薄荷选项中的$ TERM是tmux screen-256color中的xterm-256color。 tmux的版本为1.9(您的版本为1.9a)。我已经在tmux vim -u NULL中启动了vim(-u NULL表示没有配置)。游标形状在任何模式下都是块状,但是当我分配t_SI和t_EI形状时,按预期从块状(正常模式)切换到I(插入模式)。您可以尝试使用空的.vimrc启动vim,而无需任何颜色和插件吗?