基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端

1 阅读6分钟

用 macOS 自带终端来运行 Claude Code,在开启大量会话时需要开启很多 Terminal 终端窗口。 多数情况我们把需求交给 claude 会切出去干别的,等过许久再返回查看可能显示的是 claude 询问你是否同意某项操作。 如果你做前端开发,claude 生成后代码后,启动预览还需要切换到浏览器窗口。 那么有一款 macOS 终端神器满足你所有需求 -- cmux

如果你还想再终端里直接预览编辑文件,不用来回切换窗口,可以试试 -- Yazi

PixPin_2026-04-10_12-06-49.png

cmux

功能

  • 通知提示环:有新提醒时窗格出现蓝环,标签高亮
  • 通知面板:集中查看通知,一键跳到未读
  • 内置浏览器:终端旁直接分屏浏览器,支持脚本控制
  • 标签与分屏:支持横竖分割,侧栏显示分支、PR、目录、端口和通知
  • SSH 工作区cmux ssh 直连远程,浏览器走远程网络,拖图即传
  • Claude Teamscmux claude-teams 一键多代理协作,原生分屏展示
  • 浏览器数据导入:支持 Chrome、Firefox、Arc 等,一开即登录态
  • 自定义命令:在 cmux.json 里配置项目操作,命令面板直接用
  • 脚本化能力:CLI + socket API 控制工作区、窗格和浏览器
  • 原生 macOS:Swift + AppKit,启动快、占用低
  • 兼容 Ghostty:直接复用现有主题、字体配置
  • GPU 渲染:基于 libghostty,显示更流畅
  • 快捷键:丰富的快捷键,覆盖工作区、分屏、浏览器等操作

配置

cmuxGhostty 配置文件中读取配置,如果你之前使用 Ghostty,这些选项会很熟悉。

打开 ~/.config/ghostty/config 配置文件,复制以下:

# === 主题设置 ===
# 跟随系统自动切换明暗主题 dark:,light:
theme = dark:iTerm2 Dark Background,light:iTerm2 Light Background

# === shell 集成 ===
shell-integration = detect

# === 字体设置 === 
font-size = 12
font-thicken = true
adjust-cell-height = 2

# === 窗口设置 ===
window-theme = system
window-save-state = always
background-opacity = 0.8
macos-titlebar-style = transparent

# === 鼠标设置 ===
copy-on-select = clipboard
mouse-shift-capture = true
mouse-hide-while-typing = true
cursor-style = bar
cursor-style-blink = true
cursor-opacity = 0.85

# === 缓冲区 ===
scrollback-limit = 8388608

# === 快速终端 ===
quick-terminal-position = top
quick-terminal-screen = mouse
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.2

# === 安全设置 ===
clipboard-paste-protection = true
clipboard-paste-bracketed-safe = true

修改完后一定要重载配置(菜单栏操作)。

安装

#brew tap manaflow-ai/cmux
brew install --cask cmux

快捷键

工作区

快捷键操作
⌘ N新建工作区
⌘ 1–8跳转到工作区 1–8
⌘ 9跳转到最后一个工作区
⌃ ⌘ ]下一个工作区
⌃ ⌘ [上一个工作区
⌘ ⇧ W关闭工作区
⌘ ⇧ R重命名工作区
⌘ B切换侧边栏

界面

快捷键操作
⌘ T新建界面
⌘ ⇧ ]下一个界面
⌘ ⇧ [上一个界面
⌃ Tab下一个界面
⌃ ⇧ Tab上一个界面
⌃ 1–8跳转到界面 1–8
⌃ 9跳转到最后一个界面
⌘ W关闭界面

分割窗格

快捷键操作
⌘ D向右分割
⌘ ⇧ D向下分割
⌥ ⌘ ← → ↑ ↓按方向切换焦点窗格
⌘ ⇧ H闪烁聚焦面板

浏览器

浏览器开发者工具快捷键遵循 Safari 默认设置,可在设置 → 键盘快捷键中自定义。

快捷键操作
⌘ ⇧ L在分割中打开浏览器
⌘ L聚焦地址栏
⌘ [后退
⌘ ]前进
⌘ R刷新页面
⌥ ⌘ I切换开发者工具(Safari 默认)
⌥ ⌘ C显示 JavaScript 控制台(Safari 默认)

通知

快捷键操作
⌘ I显示通知面板
⌘ ⇧ U跳转到最新未读

查找

快捷键操作
⌘ F查找
⌘ G / ⌘ ⇧ G查找下一个 / 上一个
⌘ ⇧ F隐藏查找栏
⌘ E使用选中内容进行查找

终端

快捷键操作
⌘ K清除回滚缓冲区
⌘ C复制(有选中内容时)
⌘ V粘贴
⌘ + / ⌘ -增大 / 减小字体
⌘ 0重置字体大小

窗口

快捷键操作
⌘ ⇧ N新建窗口
⌘ ,设置
⌘ ⇧ ,重新加载配置
⌘ Q退出

会话恢复(当前)

重启后,cmux 会恢复应用布局和元数据:

  • 窗口 / 工作区 / 窗格布局
  • 工作目录
  • 终端回滚缓冲区(尽力恢复)
  • 浏览器 URL 与导航历史

不会恢复:

  • 终端内运行中的进程(如 Claude Code / tmux / vim)

通知

cmux 支持桌面通知,让 AI agent 和脚本在需要关注时提醒你。 在一处查看所有待处理通知,快速跳转到最新未读通知

PixPin_2026-04-11_12-30-30.png

场景

  • 左侧 - claude
  • 右上 - npm run dev
  • 右下 - Web 浏览器

PixPin_2026-04-10_14-43-04.png

yazi

简介

Yazi(意为“鸭子”)是一款用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、用户友好且可定制的文件管理体验。

安装

brew install yazi ffmpeg-full sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick-full font-symbols-only-nerd-font
brew link ffmpeg-full imagemagick-full -f --overwrite

集成(可选)

打开 ~/.zshrc,把下面这段追加到文件末尾(可选):

function y() {
    local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
    command yazi "$@" --cwd-file="$tmp"
    IFS= read -r -d '' cwd < "$tmp"
    [ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
    rm -f -- "$tmp"
}

保存之后执行 source ~/.zshrc 生效。

然后就可以在终端输入 y 替代 yazi 来启动 Yazi。

配置

Yazi 共有三个配置文件:

  1. 新建文件~/.config/yazi/yazi.toml

显示隐藏文件

在文件名之后显示符号链接指向的路径

[mgr]
show_hidden = true
show_symlink = true
  1. 新建文件~/.config/yazi/keymap.toml

输入模式下按下 <Esc> 键时执行同时关闭输入并清除过滤器

[[input.prepend_keymap]]
on = "<Esc>"
run = ["close", "mgr:escape --filter"]
desc = "Close input and cancel the filter"

快捷键

导航

绑定备用键行动
k向上移动光标
j向下移动光标
l进入鼠标悬停的目录
h离开当前目录,进入其父目录

文件操作

绑定行动
o打开选定的文件
O以交互方式打开选定的文件
Enter打开选定的文件
Shift+Enter以交互方式打开选定文件(某些终端尚不支持此功能)
Tab显示文件信息
y复制选定文件
x剪切选定文件
p粘贴已复制的文件
P粘贴复制的文件(如果目标位置已存在则覆盖)
Y或者X取消 yank 状态
d将选定的文件删除到垃圾桶
D永久删除选定文件
a创建一个文件(目录以 / 结尾)
r重命名选定文件
.切换隐藏文件的可见性

复制路径

c⇒d表示先按下一个c键,然后再按下另一个d键。

绑定行动
c⇒c复制文件路径
c⇒d复制目录路径
c⇒f复制文件名
c⇒n复制文件名(不带扩展名)。

过滤文件

绑定行动
f过滤文件

查找文件

绑定行动
/查找下一个文件
?查找上一个文件
n前往下一个找到的
N转到上一个找到的

搜索文件

绑定行动
s使用fd按名称搜索文件
S使用ripgrep按内容搜索文件
Ctrl+s取消正在进行的搜索

场景

可以直接在终端内预览、编辑文件内容。

PixPin_2026-04-10_16-03-30.png