tmux 快速使用教程

Posted by Yun on Fri, Dec 13, 2019

tmux 是一款终端复用器,它和 screen 类似,可以将会话与窗口进行分离;但是功能更加强大,支持窗口拆分

一般情况下,tmuxscreen 都需要自己手动安装

1. 会话管理

1.1 新建会话

第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。

但一般而言,我们会为会话命名,以方便区分。

1tmux new -s $session_name

1.2 分离会话

  • 方法一:快捷键 Ctrl+B D
  • 方法二:输入 tmux detach

1.3 查看会话

查看当前所有的 Tmux 会话:

1tmux ls
2# 或者使用
3tmux list-session

1.4 接入会话

重新接入某个已存在的会话:

1# 使用会话编号
2tmux attach -t 0
3
4# 使用会话名称
5tmux attach -t $session_name

1.5 杀死会话

杀死某个会话:

1# 使用会话编号
2tmux kill-session -t 0
3
4# 使用会话名称
5tmux kill-session -t $session_name

1.6 切换会话

1# 使用会话编号
2tmux switch -t 0
3
4# 使用会话名称
5tmux switch -t $session_name

1.7 重命名会话

0号会话重命名:

1tmux rename-session -t 0 $new_name

1.8 会话快捷键

1Ctrl+B D  # 分离当前会话
2Ctrl+B S  # 列出所有会话
3Ctrl+B $  # 重命名当前会话

2. 窗格操作

Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。

执行窗格操作时,需要在 Tmux 窗口中进行。

2.1 划分窗格

1# 划分上下两个窗格
2tmux split-window
3
4# 划分左右两个窗格
5tmux split-window -h

2.2 移动光标

 1# 光标切换到上方窗格
 2tmux select-pane -U
 3
 4# 光标切换到下方窗格
 5tmux select-pane -D
 6
 7# 光标切换到左边窗格
 8tmux select-pane -L
 9
10# 光标切换到右边窗格
11tmux select-pane -R

2.3 交换窗格位置

1# 当前窗格上移
2tmux swap-pane -U
3
4# 当前窗格下移
5tmux swap-pane -D

2.4 窗格快捷键

 1Ctrl+B %                # 划分左右两个窗格
 2Ctrl+B "                # 划分上下两个窗格
 3Ctrl+B $ArrowKey        # 光标切换到其他窗格
 4Ctrl+B ;                # 光标切换到上一个窗格
 5Ctrl+B O                # 光标切换到下一个窗格
 6Ctrl+B {                # 当前窗格左移
 7Ctrl+B }                # 当前窗格右移
 8Ctrl+B Ctrl+O           # 当前窗格上移
 9Ctrl+B Alt+O            # 当前窗格下移
10Ctrl+B x                # 关闭当前窗格
11Ctrl+B !                # 将当前窗格拆分为一个独立窗口
12Ctrl+B z                # 当前窗格全屏显示,再使用一次会变回原来大小
13Ctrl+B Ctrl+$ArrowKey   # 按箭头方向调整窗格大小
14Ctrl+B Q                # 显示窗格编号

3. 窗口管理

Tmux 允许新建多个窗口,注意“窗口”和“窗格”的区别。

3.1 新建窗口

1# 新建窗口
2tmux new-window
3
4# 新建一个指定名称的窗口
5tmux new-window -n $window_name

3.2 切换窗口

1# 切换到指定编号的窗口
2tmux select-window -t $window_number
3
4# 切换到指定名称的窗口
5tmux select-window -t $window_name

3.3 重命名窗口

为当前窗口起名(或重命名):

1tmux rename-window $new_name

3.4 窗口快捷键

1Ctrl+B C        # 创建一个新窗口(状态栏会显示多个窗口的信息)
2Ctrl+B P        # 切换到上一个窗口(按照状态栏上的顺序)
3Ctrl+B N        # 切换到下一个窗口(按照状态栏上的顺序)
4Ctrl+B $number  # 切换到指定编号的窗口
5Ctrl+B W        # 从列表中选择窗口
6Ctrl+B ,        # 窗口重命名

4. 其他命令

 1# 列出所有快捷键,及其对应的 Tmux 命令
 2tmux list-keys
 3
 4# 列出所有 Tmux 命令及其参数
 5tmux list-commands
 6
 7# 列出当前所有 Tmux 会话的信息
 8tmux info
 9
10# 重新加载当前的 Tmux 配置
11tmux source-file ~/.tmux.conf

5. session、window、pane 之间的关系

  • 一个 tmux 可以包含多个 session
  • 一个 session 可以包含多个 window
  • 一个 window 可以包含多个 pane

参考链接


版权声明:本文遵循 CC BY-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

Copyright statement: This article follows the CC BY-SA 4.0 copyright agreement. For reprinting, please attach the original source link and this statement.