你的第一个会话与分屏

装好了?好,我们把它跑起来,五分钟摸清最常用的几下操作。

(这一页讲带图形界面的 Conmux。纯命令行的 conmux 工具走另一条路,见 进阶 · 控制面。)

起来长什么样

打开 Conmux 图形界面,你会看到一个窗口,里面跑着一个命令行会话——就跟平时开一个终端一样,先在里面敲你想跑的东西(一个 agent CLI、一次编译、一个本地服务器,随你)。

窗口底部有一条缩点条:每开一个会话,就多一个小圆点。点一下某个圆点,就跳到那个会话。 会话一多,这排点就是你的「我现在在哪、还有哪些在跑」的一览。

这排小圆点就是前一页说的「一排小圆点,点一下跳过去」。会话之间互不打扰,各跑各的。

Leader 前缀:Conmux 的「暗号键」

分屏、切焦点这些动作,Conmux 用一个 leader 前缀键来触发,默认是 Ctrl+B(tmux 老手会觉得眼熟)。

它是两步手势,不是一次按下四个键:

  1. 先按一下 Ctrl+B,松开——这一下不会打到你的程序里,Conmux 进入「待命」状态(界面上会有个小提示告诉你它在等下一个键)。
  2. 再单独按一个命令键——比如 \-z——Conmux 就执行对应动作。

为什么要两步? 这样 Conmux 平时完全不碰你的键盘:除了 Ctrl+B 这一个键,其它所有按键都原样透传给你的程序。只有你按了 Ctrl+B 之后的那一下,才被当成 Conmux 命令。这是内核给的硬保证——永远不会把你的 CLI 弄坏

顺带两个贴心细节:按下 Ctrl+B1.5 秒内不按命令键,它会自动退回透传(你没按错,就当无事发生);如果你其实是想把 Ctrl+B 这个键本身发给程序,那就 Ctrl+BCtrl+B,字面前缀会送进当前会话。

分屏:一个窗口切几格

先按 Ctrl+B 松开,再按:

再按这个键效果
\(反斜杠)竖切——当前面板左右一分为二,右边开一个新会话
-(减号)横切——当前面板上下一分为二,下面开一个新会话

想切成田字格?多切几次就行——竖切一次、再横切一次,随你怎么排。每一格叫一个「pane / 面板」,各跑各的会话。

在几格之间切焦点

分了屏,键盘输入总得有个「当前在哪一格」。先按 Ctrl+B 松开,再按方向键,焦点就往那个方向的面板跳:

  • Ctrl+B 然后 / / / —— 把焦点移到左 / 右 / 上 / 下那一格。

焦点在哪一格,你敲的字就进哪一格。

看一格看仔细:缩放

分屏之后每格都变小了,想临时把某一格铺满整个窗口看清楚?

  • Ctrl+B 然后 z —— 当前焦点这一格全屏放大;再来一次 Ctrl+B z还原回原来的格子布局。

z = zoom,放大。别的格子没关掉,只是暂时藏起来了,还原就回来。)

离开再回来:detach / attach

这是 Conmux 最想让你安心的一点:

你直接关掉 Conmux 窗口,里面的会话不会死。 它们在后台继续跑着。下次再打开 Conmux,画面原样接回来——之前跑到哪、屏幕上是什么样,都在(滚动历史、光标、乃至全屏程序的界面状态都会照原样重放)。

这叫 detach(离开)/ attach(接回来)。跑长任务的时候特别有用:关掉窗口去干别的,回来接着看,什么都没丢。

一句诚实话:「关掉窗口会话不死」指的是关掉客户端窗口。会话真正的宿主是后台的守护进程(daemon);如果你显式停掉守护进程(conmux kill-server)或者它自己崩了,那所有会话才会一起结束——这是「绝不留孤儿进程」的另一面,是故意这么设计的,不是 bug。

还没做到的(roadmap)

诚实标一下边界,免得你按了没反应还以为坏了:

  • 图形界面本身还在建设中——上面这些分屏、切焦点、缩放的键位,规格和交互已经冻结、代码已落地,但整套原生 GUI 外壳仍是当前主线开发项,细节可能还在打磨。
  • 跨守护进程重启的持久化——目前 detach/attach 是在守护进程活着的前提下断线重连;「关机重启后会话还在」这种跨进程持久化不在当前范围(属于设计上明确的取舍)。
  • 远程 attach / 跨 WSL 统一——都还在路线图上,见 从 tmux 过来 与 conmux 仓库的 Roadmap。

接下来