鼠标事件在 Debian 上的 Vim 中不起作用?

鼠标事件在 Debian 上的 Vim 中不起作用?

如果我点击一条线,我可以看到“19m”或“18m”等显示在屏幕右下角。如果我滚动,什么也不会发生,但 Shift+单击并拖动可以工作。

set encoding=utf8                                                                                    
set ttym=xterm2
set mouse=a

我尝试了上述的一些变体,但看起来没有什么不同。

我使用的是在 Ubuntu 上运行的配置文件,所以这个变化很奇怪。

我正在使用蒂尔达终端仿真器,内部带有 tmux,用于与 vim 交互。具体来说,tmux -2围绕 zsh 运行 vim。

bash TERM=mlterm、tmux/zshTERM=xterm-256color

答案1

环境TERM变量控制程序发送和接收的字符序列,正确的值取决于终端仿真器。在 tmux 内部,您通常需要tmux-*或值之一screen-*,最好是前者。如果您更改为正确的终端类型,这可能会按预期工作。

在大多数情况下,tmux-direct它是最有功能的(它支持真彩色),但并非所有系统都支持它。 tmux-256color是许多现代系统上的一个选项,您也可以screen-256color在紧要关头使用。要验证终端定义在您的系统上是否可用,您可以运行infocmp tmux-direct(或任何您喜欢的值),这将打印定义(如果可用)或一条消息,表明它不可用。

请注意,如果您通过 SSH 连接到较旧的计算机,最好设置 256 色模式之一,因为默认情况下会复制tmux-directTERM设置,并且具有计算机上不存在的值可能会破坏大多数终端使用程序,包括您的 shell。

要设置 tmux 中的默认终端类型,您可以使用set -g default-terminal tmux-256colorin ~/.tmux.conf

相关内容