terminal - 使用 tmux 在终端中进行鼠标滚动和选择

标签 terminal tmux gnu-screen

我刚刚从 GNU screen 切换到 tmux 2.0,我惊讶地发现我无法再使用鼠标滚轮和 Shift 回滚终端历史记录-PgUp/Shift-PgDn

这对我来说是一个重大的转折点。如何使用 tmux 进行终端滚动?

PS。我知道我可以做set-window-option -g mode-mouse on使用鼠标滚轮滚动 tmux 缓冲区 - 而不是 终端 缓冲区。此设置的另一个副作用是我无法再以通常的方式进行鼠标选择 - 我必须用鼠标左键按 Shift

IOW:如何告诉 tmux 将所有鼠标事件传递到终端模拟器?

PPS。乌类图15.10; gnome 终端;滚动条在右侧清晰可见,但在 screen 下,它们表示仅显示缓冲区的一小部分,而在 tmux 下,它们表示没有任何内容滚动。

最佳答案

我怀疑你的问题实际上是行根本没有被放置在回滚缓冲区中,而不是 tmux 接管鼠标和按键。

Tmux 默认使用“备用 screen 缓冲区”(您可能会注意到,如果 screen 上有文本,然后附加和分离 tmux,文本将会返回)。许多终端模拟器不会将在此模式下滚动或删除的文本放置在回滚缓冲区中。要禁用此功能,请执行以下操作:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

其中 xterm* 是终端在 $TERM 环境变量中报告自身的内容。如果您以交互方式设置该选项,您可能需要分离、重置终端并重新连接才能正常工作。

注意:如果您使用 termcap 而不是 terminfo,请使用 tite 而不是 smcup/rmcup .

关于terminal - 使用 tmux 在终端中进行鼠标滚动和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398716/

相关文章:

go - 抑制从包生成的错误消息

java - 您在此代码/程序中发现什么错误?错误是除非您先输入数字,否则它不会运行

macos - 完成 tmux 重置

bash - Unix bash 别名在启动 screen 后不起作用

linux - 使用 Ubuntu 进行多屏显示

Linux screen 快照/重定向

linux - 是否可以为每个命令在终端输出的每一行前面加上一个字符?

linux - 当您从本地 tmux session 通过 SSH 进入删除 tmux session 时,如何将命令 key 传递给远程 tmux session

tmux 拆分窗口而不改变焦点

linux - 启动 xampp 时出现错误,错误缺少作业名称