首先我要说的是,我确实尝试尽可能少地在 vim 中使用鼠标,但有时我还是会用它来点击或突出显示某些内容。
话虽如此,我遇到的问题如下。大多数情况下,我会将终端 (Terminator) 最大化到我的一台显示器上,并且通常会打开 vim,并在其上垂直分割 2 或 3 个窗口。当我单击最右侧的窗口时,就会出现问题;它会将光标移动到最左侧的窗口。因为我很少点击,所以当它不是预期的行为时,它真的会让我感到困惑,我永远无法习惯它。
我四处寻找问题所在,发现 xterm 和终端中超过第 220 列的鼠标点击存在问题。据说,这个问题已经修复了。我可以更轻松地测试这个问题,只需在最大尺寸的终端中打开 vim 并创建一个 ~250 个字符的行即可。我无法点击超过第 220 列的任何字符。经过一番搜索,我发现很多人建议在 .vimrc 中设置“ttymouse=sgr”。我试过了,但什么也没改变。
我确实提到过我使用 Terminator 作为我的终端。我没有在 gnome-terminal 中看到这种行为,但我真的更喜欢坚持使用 Terminator。我不太熟悉鼠标集成如何与终端内的程序一起工作,但我猜想 Terminator 和 gnome-terminal 之间的终端功能有些不同。
我正在运行 Ubuntu 14.04 LTS。
答案1
Terminator 和 Gnome-terminal 使用相同的终端仿真小工具 Vte。不过,Gnome-terminal 使用的是较新、基于 Gtk+-3 的版本,而 Terminator 则依赖于较旧的、基于 Gtk+-2 的 Vte。
旧式鼠标协议仅支持最大 223 的行值和列值。扩展版本已添加到 Vte 的 Gtk+-3 分支。
如果你有点冒险精神,你可以切换到 Terminator 新的基于 Gtk+-3 的版本(https://code.launchpad.net/~gnome-terminator/terminator/gtk3)。它目前正处于积极开发阶段,并且比您使用的版本进行了许多改进和修复,但目前有 1 或 2 个明显的回归问题需要解决(最明显的是:双击分隔符后或执行旋转操作后出现错误的大小)。但毕竟,我认为您会喜欢这些改进。
它需要比 Trusty 提供的 Vte 版本更新的版本。您可以尝试 Gnome3 Staging 中的 vte2.91 包(https://launchpad.net/~gnome3-team/+archive/gnome3-staging/+packages) 是否适合较新的 Ubuntu 安装,我不确定。或者您可以从 vte-0.42 tarball 编译并安装 (ftp://ftp.gnome.org/pub/GNOME/sources/vte/) (./configure --prefix=/usr && make && sudo make install),我前几天就这样做过,我可以保证这有效,您需要做的就是安装一些可作为 Trusty 包使用的依赖项,尽管有时找出所需的包有点棘手(类似于 python、gir、libgirepository……)。
以这种方式安装较新的 Vte 不会覆盖以前的版本,您将有三个版本共存。
有了新版本,bzr 的 Terminator Gtk+-3 版本应该可以立即启动。