tmux向上滚动查看历史
tmux 默认前缀键为 Ctrl+b,下文统一简写为 Prefix
1、原生键盘快捷键(无需改配置,全版本通用)
这是 tmux 自带的滚动方案,无需任何配置,所有环境都能直接使用:
- 按
Prefix + [进入复制 / 滚动模式(此时终端底部会出现行号提示) - 滚动操作:
- 逐行滚动:方向键
↑/↓ - 整页翻页:
PageUp/PageDown - Vi 模式:可用
k/j逐行、Ctrl+u/Ctrl+d半页翻页 - Emacs 模式:可用
Ctrl+p/Ctrl+n逐行滚动
- 逐行滚动:方向键
- 退出滚动模式:按
q即可回到正常终端交互模式
2、前置优化:扩大历史缓冲区上限
tmux 默认仅保留 2000 行历史输出,超出部分会被丢弃,滚动和导出都会受限制。建议先配置更大的历史上限:
-
编辑配置文件
~/.tmux.conf(不存在则新建) -
添加如下配置,按需调整行数(示例为 10 万行):
bashset -g history-limit 100000 -
生效配置:在 tmux 内按
Prefix + :进入命令模式,输入source-file ~/.tmux.conf回车即可,无需重启 tmux。
3、开启鼠标滚轮直接滚动(最常用,推荐)
配置后可直接用鼠标滚轮上下滚动历史,和普通终端体验一致,需根据 tmux 版本选择配置。
-
先查看当前 tmux 版本:
bashtmux -V -
编辑
~/.tmux.conf,添加对应配置:tmux 版本 推荐配置 ≥ 2.1(绝大多数系统默认) set -g mouse on< 2.1 旧版本 setw -g mode-mouse on``setw -g mouse-select-pane on``setw -g mouse-select-window on``setw -g mouse-resize-pane on -
生效配置:
Prefix + :输入source-file ~/.tmux.conf回车 -
进阶优化(解决滚轮滚动不流畅):
若开启鼠标后滚轮仍无法正常滚动,在配置文件中补充如下内容,重载后即可实现平滑滚动:
bash# 鼠标滚轮向上:自动进入复制模式并滚动 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 } }