tm
tmux × Ghostty 像素田园版新手指南

把终端整理成一座像素小屋

tmux 入门页。先懂 session / window / pane

先记住层级

Ghostty 在外,tmux 在内

对 Mac 用户来说,最容易上手的理解方式是:Ghostty 是外层终端壳,负责打开窗口和提供优秀的交互体验; tmux 是内层工作区编排器,负责保留你的项目现场。两者不是冲突关系,而是分工关系。

外层:Ghostty

负责字体渲染、窗口、标签、分屏、系统集成。你可以把它理解成飞船的驾驶舱外壳。

内层:tmux

负责 session、window、pane、后台运行、断开重连。你关闭终端窗口后,工作现场仍然可以保留。

推荐原则

Ghostty 只做少量外层窗口组织;核心开发布局交给 tmux。这样层级清楚,也不容易迷路。

最快开始

新手先背这四个命令

如果今天只能记住最小集合,那就先记住下面这四个。它们解决了 80% 的日常需求。

tmux new -s work
tmux new -As work
tmux ls
tmux attach -t work
一个项目一个 session 离开时优先用 detach,不要直接关闭现场 Ghostty 管窗口,tmux 管工作区
维度一

启动 tmux 与 Session 管理

这是新手最应该先掌握的一组。因为 tmux 最核心的价值,不是分屏,而是可以把一个项目的现场保持住。

你要解决什么问题

如何开始一个项目、如何离开又回来、如何切换不同项目、如何清理不用的会话。

推荐命名方式

用项目名或工作目标命名 session,例如 cppbackenddebug

一句话心智模型

session = 一个完整项目现场。你可以进去、离开、再回来,里面的编译和命令继续跑。

tmux new -s work

创建一个新的 Session

这是最标准的启动方式。推荐每个项目固定一个名字,方便后续重新连接。

tmux new -As work

不存在就创建,存在就进入

这是最适合日常使用的懒人命令,尤其适合固定项目目录和长期维护的工作流。

tmux ls

查看当前所有 Session

适合确认自己还有哪些项目现场仍然存在,也适合回收旧会话。

tmux attach -t work

重新进入一个 Session

如果你之前用过 detach,这条命令就能把你带回原来的工作现场。

Prefix d

Detach:离开但不销毁现场

这是 tmux 最核心的能力。离开之后编译、测试、日志监听仍然可以继续跑。

Prefix s

打开 Session 树

适合同时管理多个项目。看到旧会话很多时,优先用 tmux kill-session -t 名字 清理。

维度二

Window 管理

Window 可以理解成 tmux 里的标签页。新手最推荐的组织方式是:一个任务一个 window, 比如 editbuildtestlogs

Prefix c

新建 Window

本页采用的推荐配置会自动继承当前目录,所以在项目里开新窗口特别顺手。

Prefix 1-9

按编号切换 Window

这套推荐配置让窗口从 1 开始编号,很适合新手记忆和快速跳转。

Prefix Ctrl-h

切换到上一个 Window

适合在编译窗口和编辑窗口之间来回切换。

Prefix Ctrl-l

切换到下一个 Window

和上一个操作成对出现,便于保持手感一致。

Prefix Tab

回到上一个活跃 Window

这是两个任务间往返时效率最高的快捷键之一。

Prefix w

打开 Window 列表

适合窗口开始变多以后快速定位,也适合给新人建立全局感。

Prefix ,

重命名当前 Window

强烈建议把 1 2 3 4 改成任务名,比如 editbuildtest

Prefix &

关闭当前 Window

当一个任务窗口不再需要时,用它清理最直接。注意这会关闭整个窗口,不只是一个分屏。

维度三

Pane 管理

Pane 就是一个 window 里的分屏。本页采用的推荐配置把分屏和移动键调整成更直观的新手版本, 非常适合 Mac + Ghostty 用户快速上手。

Prefix -

上下分屏

适合上方编辑、下方看输出,或者上方命令、下方日志的组合。

Prefix |

左右分屏

适合左侧编辑、右侧编译;或者左侧测试、右侧日志。

Prefix h j k l

在 Pane 之间移动

和 Vim 方向一致。左下上右的移动逻辑很稳,也特别适合终端重度用户。

Prefix H J K L

调整 Pane 尺寸

当编译输出太窄或日志区域不够高时,这组快捷键非常高频。

Prefix z

当前 Pane 全屏 / 恢复

这是新手最值得先学的 pane 技巧。看复杂日志或大段测试输出时非常好用。

Prefix q

显示 Pane 编号

当窗口里 pane 变多时,先看编号能迅速建立方向感。

Prefix x

关闭当前 Pane

只关闭一个分屏,不影响整个 window。适合临时完成对照任务后的快速收尾。

Prefix < >

交换 Pane 顺序

如果布局顺序不理想,不必重建分屏,直接调整就好。

Ghostty 专属建议

Mac + Ghostty 用户怎么分工最舒服

Ghostty 和 tmux 不冲突。对新手最稳的方式,是把外层和内层边界划清楚。

推荐做法

  • Ghostty 负责少量外层窗口和标签页,不要在外层过度分屏。
  • tmux 负责项目内部的核心布局,比如 edit / build / test / logs
  • 长期项目统一使用 tmux new -As 项目名 进入。
  • 优先学会 detach / attach,这是比“分屏”更值钱的能力。

不推荐做法

  • Ghostty 外层开很多 split,同时 tmux 里也开很多 pane,双层分屏会让方向感迅速崩掉。
  • 一个 session 混多个项目,后面会话树会越来越乱,难以清理。
  • 只依赖窗口编号而不命名,新人很快就不知道哪个窗口在做什么。
  • 一上来背太多快捷键,反而不敢用。先会最小集合,再逐步扩展。
建议工作流

一套适合推广给新人的日常流程

这套结构清晰、命名自然、记忆负担低,很适合在 Mac 团队里统一推广。

01

进入项目

在 Ghostty 里进入项目目录后,执行 tmux new -As cpp

02

建立窗口

创建并命名为 editbuildtestlogs

03

按任务切换

需要并行观察时再在某个窗口里开 pane,不要一开始就把布局复杂化。

04

随时离开再回来

离开时 Prefix d,回来后 tmux attach -t cpp