tmux 常用快捷键

2020-11-05

tmux 是终端比较实用的分屏工具,多屏工作模式可以极大提高生产效率。


1. 安装

1
2
3
4
5
# MacOS
brew install tmux

# Centos
yum install tmux

2. tmux 布局

tmux 窗口布局拓扑关系,如下图,用户最终在 panel 上工作。

tmux 布局


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
# vim ~/.tmux.conf
# 修改配置,将 `ctrl + b` 组合键修改为 `ctrl + a`。
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 设置在对应默认的 shell 下工作,笔者终端默认是 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 工具很强大,不过常用的功能就那么几个,使用情况因人而异。