![xterm 中的 Vim:鼠标光标不会根据鼠标模式而改变](https://linux22.com/image/1453631/xterm%20%E4%B8%AD%E7%9A%84%20Vim%EF%BC%9A%E9%BC%A0%E6%A0%87%E5%85%89%E6%A0%87%E4%B8%8D%E4%BC%9A%E6%A0%B9%E6%8D%AE%E9%BC%A0%E6%A0%87%E6%A8%A1%E5%BC%8F%E8%80%8C%E6%94%B9%E5%8F%98.png)
当我将 vim 与 gnome-terminal 或 yakuake 一起使用时,如果鼠标处于打开状态 ( set mouse+=a
),则我会看到一个箭头作为鼠标指针,而当我关闭鼠标时,则会看到“插入”符号作为鼠标指针。然而,在 xterm(和 urxvt)中,我只会看到鼠标指针。如何确保我也能在 xterm 中看到这种区别?或者如果不使用鼠标,那么还有其他一些清晰可见的区别?
答案1
vim 确实有一个改变鼠标外观的功能(见term_cursor_shape) 但它依赖于 termcap 描述中通常找不到的名称:SI
和EI
(vim 使用 termcap 名称,尽管与 terminfo 相比,termcap 很少见)。通常的名称是vi
(不可见)、ve
(正常)和vs
(非常可见)。
如果你碰巧知道一个可行的控制序列,你可以在vim 中的相应设置t_SI
中使用它。t_EI
以下是一些有帮助的链接:
除了已记录的 vi/ve/vs 之外,你不太可能找到用于 xterm 和 urxvt 的相同控制序列。xterm 实现了(参见XTerm 控制序列)DECSCUSR
提供闪烁/不闪烁和块/下划线光标组合的控件。