前言

tmux(Terminal Multiplexer)是一款功能强大的终端复用器。简单来说,它能让你在同一个屏幕上管理多个终端会话。除非手动终止tmux session,否则它会在SSH断开连接后继续运行。

图片

安装

sudo apt install tmux -y

基本操作

Session操作

tmux # 创建新Session并进入
tmux new -s <name> # 创建具有名称
tmux rename-session <session name> <new name> # 更名session
tmux ls # 查看正在运行的ession
tmux attach -t <session name> # 重连seesion
tmux kill-session -t <session name> # 使后台session停止活动

视窗操作

  • Ctrl+B D — 断开当前session
  • Ctrl+B % — 水平分割视窗
  • Ctrl+B “ — 垂直分割视窗
  • Ctrl+B 方向键 — 在视窗之间移动
  • Ctrl+B X — 关闭当前视窗
  • Ctrl+B C — 创建新视窗
  • Ctrl+B N or P — 在前/后一个视窗切换
  • Ctrl+B Q — 按下后再点击每个视窗上显示的数字对应按键即可跳转到视窗
  • Ctrl+B : — 输入指令
  • Ctrl+B ? — 显示按键帮助
  • Ctrl+B W — 在多个session间跳转

配置

配置文件位于~/.tmux.conf。具体配置命令在[官方WIKI](Advanced Use · tmux/tmux Wiki · GitHub)。

这是一份我使用的配置文件:

# 1. 修改前缀键
set -g prefix C-j
unbind C-b
bind C-j send-prefix

# 2. 开启鼠标支持
# 开启后可以用鼠标点击切换窗口、调整分屏大小、直接滚动查看历史记录
set -g mouse on

# 3. 设置分屏快捷键
# 改为 \ 和 - 分别代表垂直和水平分屏
unbind '"'
unbind %
bind '\' split-window -h -c "#{pane_current_path}"
bind '-'' split-window -v -c "#{pane_current_path}"

# 4. 快速重新加载配置
# 修改完此文件后,按 Prefix + r 即可生效,无需重启 tmux
bind 'r' source-file ~/.tmux.conf \; display-message "Config reloaded!"

# 5. 窗口和窗格编号从 1 开始
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on # 关闭窗口后自动重新编号

# 6. 状态栏美化
set -g status-style "bg=#333333,fg=#5eacd3"
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[default]"
set -g status-right "#[fg=yellow]%Y-%m-%d %H:%M #[default]"
set -g window-status-current-style "fg=white,bold,bg=#666666"

# 7. 解决色彩显示问题
set -g default-terminal "screen-256color"

保存配置后使用以下指令生效:

tmux source-file ~/.tmux.conf

题外话

Windows Terminal支持分屏操作:

  • Alt+Shift++ — 垂直分割窗口

  • Alt+Shift+- — 水平分割窗口

  • Alt+方向键 — 在窗口间移动

  • Alt+Shift+方向键 — 调整当前窗口大小

  • Ctrl+Shift+W — 关闭当前窗口

参考资料

https://tmuxcheatsheet.com/

https://github.com/tmux/tmux/wiki