在 tmux 中,默认的鼠标滚轮行为是进入 复制模式(copy-mode) 来查看历史输出(终端日志)。如果你希望 鼠标滚轮向上 直接滚动查看之前的终端日志(而不是触发其他操作),可以这样优化配置:
~/.tmux.conf
(如果不存在就新建)bash展开代码nano ~/.tmux.conf # 或者用 vim
sh展开代码# 启用鼠标支持(包括滚轮、窗格选择)
set -g mouse on
# 鼠标滚轮向上:进入复制模式并向上滚动(查看历史日志)
bind -n WheelUpPane {
if -F "#{pane_in_mode}" {
send-keys -M # 如果已在复制模式,继续滚动
} {
copy-mode -e # 进入复制模式
send-keys -M # 模拟向上滚动
}
}
# 鼠标滚轮向下:退出复制模式或向下滚动
bind -n WheelDownPane {
if -F "#{pane_in_mode}" {
send-keys -M # 如果已在复制模式,继续滚动
} {
send-keys -M # 否则直接发送滚轮事件(可能被终端处理)
}
}
# 左键拖动:选择文本或调整窗格(根据上下文自动判断)
bind -n MouseDrag1Pane if -F "#{mouse_any_flag}" {
if -F "#{pane_in_mode}" {
# 在复制模式中:继续选择文本
send-keys -M
} {
# 不在复制模式:调整窗格大小或交互
select-pane -M
}
}
# 左键单击:激活窗格或开始选择
bind -n MouseDown1Pane select-pane -M \; send-keys -M
# 确保终端兼容性(防止鼠标事件被拦截)
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Ctrl + O
→ 回车 → Ctrl + X
Esc
→ :wq
→ 回车bash展开代码tmux kill-server # 关闭所有 tmux 会话
tmux # 重新启动
bash展开代码# 在 tmux 中按:
Ctrl + B # 前缀键
:source-file ~/.tmux.conf # 输入这些,然后回车
如果仍然无效:
检查终端模拟器设置:
Preferences > Profiles > Terminal
→ 勾选 Enable mouse reporting
。Preferences
> 当前配置文件 > Compatibility
→ 勾选 Enable mouse reporting
。升级 tmux(推荐):
bash展开代码# macOS (Homebrew)
brew upgrade tmux
# Linux (Ubuntu/Debian)
sudo apt update && sudo apt install tmux
强制刷新终端:
bash展开代码# 在 tmux 中按:
Ctrl + B # 前缀键
:kill-pane -a # 回车
copy-mode
?less
或 vim
的滚动)。q
或 Esc
(如果你在复制模式中)。Ctrl + B
→ :set mouse off
→ 回车。这样设置后,你的鼠标滚轮向上应该可以流畅查看终端历史日志了!
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!