当然,这是一份为新手准备的 tmux 使用说明文档。
layout: post
title: “tmux用法”
subtitle: ‘tmux用法’
date: 2025-09-29
author: “Abel”
header-style: text
categories:
- 1-基础
- tmux
tags:
- AI
简介
Tmux 新手入门指南
Tmux(Terminal Multiplexer)是一个强大的终端复用工具,可以让你在一个终端窗口中创建、管理和切换多个终端会话。它最大的好处是,即使你关闭了终端或者断开了 SSH 连接,后台的会话和程序仍然会继续运行。
这份文档将教会你如何开始使用 Tmux,以及掌握一些最核心的概念和命令。
核心概念
在使用 Tmux 前,你需要理解三个基本概念:
- Session (会话): 类似于一个独立的工作空间,可以包含多个窗口。你可以给会话命名,方便以后重新连接。
- Window (窗口): 每个会话可以有多个窗口,就像浏览器里的多个标签页。
- Pane (窗格): 每个窗口可以被分割成多个窗格,每个窗格都是一个独立的终端。
启动和退出
1. 启动一个新的 Tmux 会话
这是你开始使用 Tmux 的第一步。最简单的方式是直接输入 tmux
。
1 | tmux |
这会创建一个默认名称的新会话,并立即进入。
如果你想创建一个带有特定名称的会话(强烈推荐),可以使用 -s
参数:
1 | tmux new-session -s my-project |
这会创建一个名为 my-project
的会话。
2. 退出并分离会话
当你完成了工作,或者需要暂时离开时,你可以分离 (detach) 当前会话。这会让会话在后台继续运行,而你则回到常规的终端。
- 按下快捷键:
Ctrl-b
然后按d
。
3. 重新连接到会话
当你需要返回 Tmux 会话继续工作时,你可以使用 attach
命令。
- 重新连接到最近的会话:
1
tmux attach
- 重新连接到指定名称的会话:
1
tmux attach -t my-project
4. 彻底终止会话
当你完全不再需要某个会话时,可以终止它:
1 | tmux kill-session -t my-project |
常用快捷键
Tmux 的所有快捷键都以一个前缀键开始,默认是 Ctrl-b
。这意味着你必须先按下 Ctrl-b
,松开,然后再按下一个键来执行操作。
快捷键 (按下 Ctrl-b 后) |
描述 |
---|---|
c |
创建新窗口 (Create) |
p |
切换到上一个窗口 (Previous) |
n |
切换到下一个窗口 (Next) |
, |
重命名当前窗口 |
% |
垂直分割窗格 |
" |
水平分割窗格 |
Arrow Keys |
在窗格之间移动 |
x |
关闭当前窗格 |
快速参考
- 查看所有会话:
tmux ls
- 查看所有快捷键:
Ctrl-b ?
实践建议
- 项目化管理: 为每个项目创建一个独立的 Tmux 会话。例如,开发 Web 应用时,可以有一个
web-app
会话,里面包含用于运行服务器、查看日志和编辑代码的多个窗口。 - 学会分离: 养成在完成工作后分离会话的习惯,而不是直接关闭终端。这样,当你重新连接时,所有工作状态都还在。
希望这份指南能帮助你顺利踏上 Tmux 的旅程!
您可以通过两种方式重命名 tmux 窗口:使用快捷键或使用命令行。
方法一:使用快捷键(最常用)
这是最简单、最快捷的方式。
- 首先,按下 tmux 的前缀键,默认是
Ctrl-b
。 - 然后,松开前缀键,按下
,
(逗号)。 - 这时,在终端底部会弹出一个提示,允许你输入新的窗口名称。输入你想好的名称,然后按回车键确认即可。
方法二:使用命令行
你也可以在 tmux 会话内部执行命令行来重命名窗口。这通常用于脚本或自动化操作中。
进入 tmux 会话后,按下前缀键 (
Ctrl-b
)。然后,松开前缀键,按下
:
。在底部弹出的命令行中,输入以下命令并按回车:
1
rename-window new-name
将 new-name
替换成你想要的窗口名称。
额外提示
- 你可以在
tmux.conf
配置文件中修改前缀键,如果你觉得默认的Ctrl-b
不顺手的话。 - 给窗口命名可以帮助你更好地组织工作,尤其是在一个会话中打开了多个窗口时。
- 你也可以使用
rename-window
命令的缩写renamew
- 你也可以使用
你说的“解除 tmux 窗口”在 tmux 里对应的术语其实叫 detach——就是把当前会话从当前终端“脱开”,但不关闭它,程序还在后台跑。
在 tmux 里有几个常见的“解除”动作👇
⸻
1️⃣ 脱离当前 tmux 会话(detach)
在 tmux 里面按:
Ctrl-b d
就会提示:
[detached (from session dev)]
这时 tmux 会话 dev 还在后台跑,你的 shell回到普通终端。
等你下次再想回去:
tmux attach -t dev
⸻
2️⃣ 把当前窗口拆到新会话(break window)
如果你想把某个 window 单独拆成一个新 session(相当于“解除绑定”):
• 先 Ctrl-b 然后按 : 进入 tmux 命令行,输入:
break-window
• 或者直接快捷键:
Ctrl-b !
这样当前窗口就会变成一个新的 session。
⸻
3️⃣ 关闭窗口(kill window)
如果你不是“解除”,而是想彻底关掉当前窗口:
Ctrl-b &
会问你是否要 kill 掉这个 window。
⸻
4️⃣ 彻底退出 tmux 会话(kill session)
在 tmux 外面直接:
tmux kill-session -t dev
⸻
💡 所以:
• “解除 tmux 窗口” = Ctrl-b d(脱离整个会话)。
• “把窗口拆成新会话” = Ctrl-b !。
• “关掉窗口” = Ctrl-b &。
你想要的是哪种?(后台运行不退出,还是拆出来新 session?)
1️⃣ 进入复制模式(scroll 模式)
• 默认快捷键:
Ctrl+b 然后按 [
(按完就可以用方向键上下滚动、翻页)
按键
作用
↑ / ↓
按行上/下滚动
PageUp
向上翻一页
PageDown
向下翻一页
Space
也可向下翻一屏(取决于配置)
g
跳到缓冲区顶部
G
跳到缓冲区底部
3️⃣ 退出复制模式
按 q 或 Enter 退出。
mac 键盘上:
• Fn + ↑ = PageUp(向上翻一页)
• Fn + ↓ = PageDown(向下翻一页)