tmux的基本使用
tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。会话、窗口、面板之间的联系如下:
一个tmux session(会话)可以包含多个window(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。
一个window又可以包含多个pane(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。
会话(session)
查看会话
tmux list-session # 查看所有会话
tmux ls # 查看所有会话,提倡使用简写形式
新建
tmux # 新建一个无名称的会话
tmux new -s demo # 新建一个名称为demo的会话
断开
tmux detach # 断开当前会话,会话在后台运行
接入会话
tmux a # 默认进入第一个会话
tmux a -t demo # 进入到名称为demo的会话
关闭会话
tmux kill-session -t demo # 关闭demo会话
tmux kill-server # 关闭服务器,所有的会话都将关闭
切换会话
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name>
重命名会话
tmux rename-session -t 0 <new-name>
窗口(window)
新建窗口
tmux new-window命令用来创建新窗口。
$ tmux new-window
# 新建一个指定名称的窗口
$ tmux new-window -n <window-name>
切换窗口
tmux select-window命令用来切换窗口
# 切换到指定编号的窗口
$ tmux select-window -t <window-number>
# 切换到指定名称的窗口
$ tmux select-window -t <window-name>
重命名窗口
tmux rename-window命令用于为当前窗口起名(或重命名).
tmux rename-window <new-name>
窗格(pane)
划分窗格
tmux split-window命令用来划分窗格。
# 划分上下两个窗格
$ tmux split-window
# 划分左右两个窗格
$ tmux split-window -h
移动光标
tmux select-pane命令用来移动光标位置。
# 光标切换到上方窗格
$ tmux select-pane -U
# 光标切换到下方窗格
$ tmux select-pane -D
# 光标切换到左边窗格
$ tmux select-pane -L
# 光标切换到右边窗格
$ tmux select-pane -R
交换窗格位置
# 当前窗格上移
$ tmux swap-pane -U
# 当前窗格下移
$ tmux swap-pane -D
快捷指令速查
以下所有的操作都是激活控制台之后,即键入Ctrl+b前提下才可以使用的命令【这里假设快捷键没改】
| 快捷键 | 功能 |
|---|---|
| d | 脱离当前会话回到Sheel, 使用 tmux a 重新进入 |
| D | 选择要脱离的会话 |
| s | 以菜单切换会话 |
| $ | 重命名当前会话 |
| 快捷键 | 功能 |
|---|---|
| c | 创建新窗口 |
| & | 关闭当前窗口 |
| 上/下 | 切换上/下个窗口 |
| p | 切换上一个窗口 |
| n | 切换下一个窗口 |
| 数字键 | 切换到指定窗口 |
| w | 以菜单方式切换窗口 |
| , | 重名名当前窗口 |
| . | 修改当前窗口编号 |
| f | 在所有窗口查找关键词 |
| 快捷键 | 功能 |
|---|---|
| “ | 将当前面板上下分屏 |
| % | 当前面板左右分屏 |
| x | 关闭当前面板 |
| Ctrl+方向键 | 调整面板大小,以1个像素 |
| Alt+方向键 | 调整面板大小,以5个像素 |
| 方向键 | 移动光标选择对应的面板 |
| z | 最大化当前面板 |