Linux-tmux
TL;DR:高频命令速查
在执行任何快捷键之前,必须先按下 前缀键(默认是
<C-b>Ctrl+b键)
在使用过程中如果不知道现在要怎么操做,直接敲<C-b> ?查看快捷键
会话层 - 项目级隔离
创建会话
|
|
进入会话(不指定t默认使用序号创建)
|
|
列出会话
|
|
删除会话 (不指定 -t 则删除当前会话)
|
|
会话层快捷键:
| 操作 | 快捷键 |
|---|---|
| 脱离会话 (挂起至后台) | <C-b> d |
窗口层 - 任务标签页
CLI 创建窗口
|
|
窗口层快捷键:
| 操作 | 快捷键 |
|---|---|
| 新建窗口 | <C-b> c |
| 下 / 上一个窗口 | <C-b> n / p |
| 跳转窗口 | <C-b> 0-9 |
| 重命名窗口 | <C-b> , |
| 关闭窗口 | <C-b> & |
窗格层 - 一 屏 多 用
窗格层快捷键:
| 操作 | 快捷键 |
|---|---|
| 垂直分割 (左右分屏) | <C-b> % |
| 水平分割 (上下分屏) | <C-b> " |
| 切换窗格 | <C-b> 方向键 |
| 全屏切换 (放大 / 缩小当前窗格) | <C-b> z |
| 调整大小 | <C-b> <C-方向键> |
| 关闭窗格 | <C-b> x |
守护进程 (Server)
启动守护进程
|
|
停止所有会话
|
|
指定 socket
|
|
指定 socket 路径
|
|
强制终止进程
|
|
Welcome to tmux!
tmux 是终端多路复用器。它可以让您轻松地在一个终端中的多个程序之间切换、分离它们(它们在后台继续运行)并将它们重新连接到不同的终端。
幕后:tmux 守护进程
不要把 tmux 当成普通的命令,它的本质是一个常驻后台的服务
- 悄悄打工: 当你敲下第一句 tmux 时,它就会在后台默默启动,接管你的终端。
- 断线保命: 突然断网了?别慌。它的后台仍在运行,随时等你回来“认领”工作现场。(前提是服务器没重启、tmux 进程没被杀掉)。
- 功成身退: 当你手动关闭了它里面所有的会话和窗口后,它就会自动销毁,绝不偷偷占用内存。
评价一下
纯牛马自己来,自己走,中间还无条件给你后台保底
会话、窗口和窗格
- 窗格:tmux里,每个窗格都是一个终端
- 窗口:当前的显示界面,可以由多个窗格组成,同时可以给窗口一个名字
- 会话:由多个窗口组成,一般一个会话用于一个项目

滚动与复制
由于默认配置下的tmux接管了终端,无法使用<S-PgUp>进行屏幕滚动,那么我们需要进入tmux自己的滚动与复制逻辑邻域了……(虽然我感觉这有点难用)
tmux正常的复制流程如下:
| 阶段 | 步骤说明 | 快捷键 |
|---|---|---|
| 1. 进入 | 冻结屏幕,开启翻页模式 | <C-b> [ |
| 2. 浏览 | 上下翻找历史日志/报错信息 | 方向键 或 PgUp/Dn |
| 3. 选中 | 在目标起点开启选择 | <C-Space> |
| 4. 复制 | 覆盖目标文本后确认并退出 | <Enter> |
| 5. 粘贴 | 在命令行甩出内容 | <C-b> ] |
| 取消 | 随时放弃操作并返回实时终端 | q |
同时这里有一个大坑,C-Space 会出现快捷键冲突,导致无法进入复制模式!!!!
我这里准备了几个方法:
- 添加配置,添加
set -g mouse on到~/.tmux.conf里,让鼠标可以在tmux使用,但是可能会遇到一些异常情况 - 添加配置,添加
set -w -g mode-keys vi到~/.tmux.conf,使用vi的键盘操作方式进行复制。只需要学会hjklvyq就学会vi了(bushi还有其他比较复杂的方式就不例举出来了
会话之外 - 一些杂项操作
~/.tmux.conf 配置
可以将以下配置加入到~/.tmux.conf 配置最下面,优化使用体验
|
|
复杂内容以后再来探索吧(