Tmux 是一个终端复用工具,和 screen 一样,screen 相对简单好使,tmux 更高级。

安装

1
2
3
4
5
# CentOS
yum install -y tmux

# MacOS
brew install tmux

基本操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 新建无名称会话
tmux

# 新建会话
tmux new -s demo

# 挂起会话
tmux detach

# 默认进入第一个会话
tmux a

# 进入名为demo的会话
tmux a -t demo

# 关闭demo会话
tmux kill-session -t demo

# 关闭服务器
tmux kill-server

# 查看会话
tmux list-session
tmux ls

# 切换会话
tmux switch -t 0 # 使用会话编号
tmux switch -t demo # 使用会话名称

# 重命名会话
tmux rename-session -t demo new-demo

系统指令

前缀 指令 描述
prefix ? 显示快捷键帮助文档
prefix d 断开当前会话
prefix D 选择要断开的会话
prefix Ctrl+z 挂起当前会话
prefix r 强制重载当前会话
prefix s 显示会话列表用于选择并切换
prefix : 进入命令行模式
prefix [ 进入复制模式,按q退出
prefix ] 粘贴复制模式中复制的文本
prefix ~ 列出提示信息缓存

窗口指令

前缀 指令 描述
prefix c 新建窗口
prefix & 关闭当前窗口(关闭前需输入y or n确认)
prefix 0-9 切换到指定窗口
prefix p 切换到上一窗口
prefix n 切换到下一窗口
prefix w 打开窗口列表,用于且切换窗口
prefix , 重命名当前窗口
prefix . 修改当前窗口编号(适用于窗口重新排序)
prefix f 快速定位到窗口(输入关键字匹配窗口名称)

面板指令

前缀 指令 描述
prefix 当前面板上下一分为二,下侧新建面板
prefix % 当前面板左右一分为二,右侧新建面板
prefix x 关闭当前面板(关闭前需输入y or n确认)
prefix z 最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
prefix ! 将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
prefix ; 切换到最后一次使用的面板
prefix q 显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
prefix { 向前置换当前面板
prefix } 向后置换当前面板
prefix Ctrl+o 顺时针旋转当前窗口中的所有面板
prefix 方向键 移动光标切换面板
prefix o 选择下一面板
prefix 空格键 在自带的面板布局中循环切换
prefix Alt+方向键 以5个单元格为单位调整当前面板边缘
prefix Ctrl+方向键 以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖)
prefix t 显示时钟

自定义配置

编辑 ~/.tmux.conf 添加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# prefix configuration
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# split window
unbind '"'
bind - split-window -v -c '#{pane_current_path}'
unbind %
bind = split-window -h -c '#{pane_current_path}'

# mouse on
set-option -g mouse on

# pane navigation
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R

# pane resizing
bind -r ^k resize-pane -U 2
bind -r ^j resize-pane -D 2
bind -r ^h resize-pane -L 2
bind -r ^l resize-pane -R 2

# reload configuration
bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'

评论