tmux 是终端比较实用的分屏工具,多屏工作模式可以极大提高生产效率。
1. 安装
1
2
3
4
5
# MacOS
brew install tmux
# Centos
yum install tmux
2. tmux 布局
tmux 窗口布局拓扑关系,如下图,用户最终在 panel
上工作。
2.1. 使用
用户通过 tmux
命令进入 tmux 工作模式。
类似 vim
,进入 tmux 工作模式后,通过键盘组合键命令进行工作(官方默认组合键是 ctrl + b
,文章下面用 prefix
表示组合键)。
2.2. terminal 命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建会话,会话名称默认是递增的阿拉伯数字。
tmux
# 展示已创建的 tmux 会话列表。
tmux ls
# 进入对应 tmux 会话,name 是会话名称。
tmux a -t <name>
# 创建带名称的 tmux 会话。
tmux new-session -s <name>
# 修改会话名称。
tmux rename-session -t <old-name> <new-name>
2.3. 分屏命令
1
2
3
4
5
# 横向分屏
prefix + %
# 纵向分屏,组合键 + 引号。
prefix + '"'
3. 常用快捷键
当用户已进入 tmux
工作模式后,使用对应快捷键工作。
3.1. 快捷键模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 移动分屏焦点,组合键加方向键。
prefix + up/down/right/left
# 显示 tmux 窗口上分割的 panel 号码,按下对应数字可以切换 panel 焦点。
prefix + q
# 选择 tmux 会话。
prefix + s
# 将 tmux 焦点所在 panel 最大化。
prefix + z
# 关闭子窗口。
prefix + x + y
# 退出 tmux 工作模式,返回 terminal 模式。
prefix + d
# 切换下一个窗口。
prefix + n
# 翻页,成功触发翻页功能后,可通过触摸板实现滚轮功能。
prefix + fn + ↓/↑
3.2. 命令模式
prefix + :
进入命令输入模式。
1
2
3
4
5
6
7
8
9
10
11
# panel 右侧分割线,向左移动 x。
resize-pane -L x
# panel 右侧分割线,向右移动 x。
resize-pane -R x
# panel 下侧分割线,向上移动 x。
resize-pane -U x
# panel 上侧分割线,向下移动 x。
resize-pane -D x
4. 配置
- tmux 配置:
~/.tmux.conf
,如果目录下没有这个文件就创建。
1
2
3
4
5
6
7
8
9
10
11
12
13
# vim ~/.tmux.conf
# 修改配置,将 `ctrl + b` 组合键修改为 `ctrl + a`。
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 设置(prefix + q)显示 panel 号码的时间,单位毫秒。
set -g display-panes-time 3000
# 设置在对应默认的 shell 下工作,笔者终端默认是 zsh
# 如果没有安装 zsh,请使用 /bin/bash 替换 /bin/zsh
set -g default-shell /bin/zsh
set -g default-command /bin/zsh
- 修改配置后,需要在 tmux 工作模式下执行命令使其配置生效。
1
2
3
# (prefix + :)进入命令输入模式。
# source-file 命令使得命令生效。
source-file ~/.tmux.conf
注意,有的配置修改后,需要重新创建 tmux 窗口才能生效。
5. 小结
- tmux 是实用工具,虽然经常用,但是有些快捷键也会忘记,所以写个帖子方便查找。
- tmux 详细功能介绍可以通过
man tmux
命令查阅。 - tmux 工具很强大,不过常用的功能就那么几个,使用情况因人而异。