tmux简介
tmux是一个优秀的终端复用软件,类似GNU screen,但来源于OpenBSD,采用BSD授权。使用它最直观的好处就是通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。

tmux使用C/S模型构建,主要包括以下单元模块:
| - | 说明 |
|---|---|
| server | 服务器,输入tmux命令时就开启一个服务器 |
| session | 会话,一个会话可以包含多个窗口 |
| window | 窗口,一个会话可以包含多个窗口 |
| pane | 面板,一个窗口可以包含多个面板 |
常用命令
tmux new-session -s session #创建某个会话
tmux ls #列出会话
tmux attach-session -t session #进入某个会话
tmux kill-session -t "session" //删除指定会话
Ctrl+b 激活控制台;此时以下按键生效
session常用命令
| 快捷键 | 说明 |
|---|---|
| $ | 重命名当前session |
| ? | 列出所有快捷键;按q返回 |
| d | 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 |
| D | 选择要脱离的会话;在同时开启了多个会话时使用 |
| Ctrl+z | 挂起当前会话 |
| r | 强制重绘未脱离的会话 |
| s | 选择并切换会话;在同时开启了多个会话时使用 |
| : | 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器 |
| [ | 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出 |
| ~ | 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 |
| t | 显示时间 |
| ( | 切换session 切换到上一个session |
| ) | 切换session 切换到下一个session |
| L | 切换session 到前一个活跃的session |
window常用命令
| 快捷键 | 说明 |
|---|---|
| c | 创建新窗口 |
| & | 关闭当前窗口 |
| 数字键 | 切换至指定窗口 |
| p | 切换至上一窗口 |
| n | 切换至下一窗口 |
| l | 在前后两个窗口间互相切换 |
| w | 通过窗口列表切换窗口 |
| , | 重命名当前窗口;这样便于识别 |
| . | 修改当前窗口编号;相当于窗口重新排序 |
| f | 在所有窗口中查找指定文本 |
pane常用命令
| 快捷键 | 说明 |
|---|---|
| ” | 将当前面板平分为上下两块 |
| % | 将当前面板平分为左右两块 |
| x | 关闭当前面板 |
| ! | 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板 |
| Ctrl+方向键 | 以1个单元格为单位移动边缘以调整当前面板大小 |
| Alt+方向键 | 以5个单元格为单位移动边缘以调整当前面板大小 |
| Space | 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled |
| q | 显示面板编号 |
| o | 在当前窗口中选择下一面板 |
| 方向键 | 移动光标以选择面板 |
| { | 向前置换当前面板 |
| } | 向后置换当前面板 |
| Alt+o | 逆时针旋转当前窗口的面板 |
| Ctrl+o | 顺时针旋转当前窗口的面板 |
tmux配置文件 ~/.tmux.conf
1 | setw -g mode-mouse on |
