zshell

终端本身

Zshell 的终端后端、shell 环境、链接处理、通知与安全功能。

每个终端窗格都运行你真正的登录 shell,并使用两个原生 GPU 加速后端之一。窗格焦点、搜索、通知、链接、历史、主题和粘贴安全由 Zshell 统一管理,所以无论选哪个模拟器,外围行为都一致。

终端后端

设置 → Terminal → Backend 里选择:

后端说明
Ghostty默认选项
Alacritty通常占用更少内存

两者都支持 GPU 加速、图片渲染、Zshell 的共享主题目录、查找、鼠标上报、通知和进度。后端改动只影响之后新建的终端;已有窗格继续使用启动时的模拟器。

你的 shell,原封不动

每个会话启动你账户的登录 shell,所以提示符、别名、函数和 dotfiles 都和其他终端里一样加载。 Zshell 额外设置了能力与身份变量:

变量
TERM_PROGRAMghostty
TERM_PROGRAM_VERSIONZshell 实现的 Ghostty 能力版本
ZSHELL_TERMghosttyalacritty,也就是窗格实际使用的后端

两个后端都通过 TERM_PROGRAM 声明 Ghostty,因为支持图片和通知的 CLI 会把它当作能力提示。只有确实需要区分渲染器时,才看 ZSHELL_TERM

Zshell 不读取 ~/.config/ghostty,也不读取 Alacritty 配置。字体、颜色、输入行为和后端都在 Zshell 自己的设置里配置。

搜索

操作快捷键
查找Cmd+F
查找下一个Cmd+G
查找上一个在查找栏里按 Shift+Return
用选中内容查找Cmd+E
清空终端Cmd+K

查找作用于当前终端或编辑器窗格,并且在搜索输入框拿着键盘焦点时仍然有效。

提示符编辑

在活动 shell 提示符内点按,输入光标会移到点击位置,后续输入就从那里开始。zsh 提示符中,可在输入内容上拖拽选中一段文字:继续输入会替换选区,按 Backspace 或 Delete 会删除选区。双击、三击仍用于选择终端输出文字;全屏 TUI 等主动启用终端鼠标上报的程序,仍会收到自己的鼠标事件。

嵌套启动或替换的 shell 若未加载 Zshell 的提示符编辑支持,拖拽仍可选择、复制终端文字,但不会直接修改输入。退出嵌套 shell、回到原提示符后,输入选区编辑会自动恢复。

路径与 URL

Zshell 能识别终端程序打印出来的网页 URL 和确实存在的本地路径。本地链接可以是绝对路径、以 ~/ 开头、以 ./../ 开头,也可以相对窗格的实时工作目录。诊断信息末尾的 :42:42:7 不会妨碍找到背后的文件。

  • Command 点按本地路径会在 Finder 里显示它;点网页 URL 则交给系统默认浏览器。
  • 按住 Command 右键路径,会出现 New File Tab / New File Pane;对 URL 则出现 New Browser Tab / New Browser Pane
  • 启用鼠标报告的全屏程序会收到普通右键。按住 Shift 再右键,可改为打开 Zshell 的终端和窗格菜单。

这样一来,编译器输出和 agent 对话就能直接回到同一个项目里。网页相关行为见 浏览器窗格

通知

Zshell 会把两类终端事件转给通知中心:

  • 未聚焦会话里的铃声;
  • 构建工具或编码 agent 发出的 OSC 777;notify 请求。

通知可以播放系统提示音。点通知会激活 Zshell,并跳到发出它的确切会话。macOS 只在某个终端第一次真的要通知时申请权限,不会在 Zshell 启动时就弹框。

进度显示

发出 OSC 9;4 进度的程序,会在终端上方得到一条细进度条,正常、暂停和错误状态各有区分。不需要打开任何开关——程序报告了,窗格就显示。

剪贴板、拖放与粘贴安全

  • 读剪贴板要确认。 OSC 52 可以申请读取 macOS 剪贴板,包括通过 SSH 跑在远端的程序。Zshell 会先问你。
  • 有风险的粘贴会提示。 多行或看起来会立即执行命令的文本,会先停在确认步骤。
  • 文件会变成 shell 安全路径。 从 Finder 复制或拖进来的文件,会作为经过引用的绝对路径插入。剪贴板图片仍会交给支持图片的 TUI。

Option 键输入

默认情况下,Option 交给当前 macOS 输入源,因此 Polish Pro 之类的布局可以输入组合字符。如果终端程序需要把 Option 组合键当成 Meta 快捷键,打开设置里的 Use Option as Alt/Meta。对应配置键是 terminal.macos-option-as-alt

zshell 命令

每个 Zshell 终端都带一套了解项目上下文的 CLI:

zshell                         # 以当前目录新建项目
zshell vim ~/src/app.swift     # 新建项目,并让第一个终端直接运行这组 argv
zshell +themes                 # 交互式浏览和预览主题
zshell +themes --list --dark   # 不打开浏览器,直接列出主题名
zshell +help                   # 查看全部命令组

主题浏览器会把当前选项实时预览到整个应用;Return 保存,Escape 恢复之前的主题。

字体

Zshell 内置 JetBrains Mono 和 Nerd Font 符号,也可以换成任意已安装的等宽字体。见 font-familyfont-sizeterminal.font-thicken

本页目录