You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过快捷键用less查看tmux历史日志?

解决tmux绑定C-b [执行less查看日志的终端转义问题

问题根源是直接用run-shell执行less时,命令会在tmux后台进程中运行,无法关联当前pane的终端,导致终端控制字符直接输出到屏幕。正确的做法是把命令发送到当前pane的交互式shell中执行,让less能正常接管终端。

修复步骤:

  1. 打开~/.tmux.conf文件,先确认日志文件路径的定义(如果还没配置pipe-pane,可一并添加):
# 自定义日志文件路径,替换成你实际的路径
set -g @log_file "$HOME/tmux_session.log"
# 开启pane日志记录(如果之前未配置)
set -g pipe-pane "cat > #{@log_file}"
  1. 替换默认的C-b [绑定,改成发送less命令到当前shell执行:
# 取消默认的C-b [进入复制模式的绑定
unbind C-b [
# 绑定C-b [为执行less查看日志
bind C-b [ send-keys "less -rf +G \"#{@log_file}\"" Enter

如果你的$log_file是shell环境变量(而非tmux变量),可将绑定改为:

unbind C-b [
bind C-b [ send-keys "less -rf +G \"$log_file\"" Enter
  1. 保存配置后,在tmux中执行tmux source ~/.tmux.conf使配置生效。

现在按下C-b [,less就会像手动输入命令一样正常启动,不会再出现乱码的终端转义字符。

内容的提问来源于stack exchange,提问作者user3310334

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:18:21