
我把用了五年的 iTerm2 + oh-my-zsh 全换掉了。
换完这套,我愿称之为 macOS 最强、最快、最好看的终端——秒开、彩虹渐变提示符、半透明毛玻璃窗口透出桌面壁纸。
不是旧方案不好,是太臃肿了。oh-my-zsh 自带 300 多个插件我只用 5 个,框架每次启动都要加载一堆东西,开个新窗口都要卡一下。这篇除了 Ghostty 本身,还有我每天在用的终端必备插件推荐,配置全部开源可以直接抄。
配合上一篇的 Alfred Workflow,⌘+Space → cc → 回车,Ghostty 弹出来直接进 Claude Code,开始 vibe coding。
前边评论区有朋友问我的终端怎么配置的,这篇统一回答。讲 Ghostty 安装、必备插件推荐——每个插件是干嘛的、怎么用、使用场景是什么。配置方法我提供了一键安装脚本,复制一行命令 5 分钟装好,执行完就是跟我同款的终端环境:
bash
bash <(curl -fsSL https://raw.githubusercontent.com/justhalfbit/ghostty-terminal-config/main/install.sh)仓库地址:
https://github.com/justhalfbit/ghostty-terminal-config
想手动安装的去仓库看 README,有完整的步骤说明。安装完之后打开 ~/.zshrc,每个插件都写了详细注释——是什么、怎么用、注意事项,忘了用法直接看这个文件就行。这篇文章只讲"为什么值得用"和"装完怎么玩"。
整体架构
这套方案一共三层:
Ghostty(终端模拟器) — 窗口本身,半透明、GPU 加速、原生 macOS
Starship(提示符) — 命令行那行彩色信息,路径、Git 分支、语言版本
zsh + 插件(Shell 增强) — 补全、搜索、高亮、跳转,日常操作效率
三层互不依赖,你可以只装其中一层。但全装上之后的化学反应是最舒服的。
Ghostty — 终端本身
Ghostty 是 Zig 语言写的新一代终端模拟器。原生 macOS、GPU 渲染、启动快、配置简单。对标 iTerm2 / Alacritty / Kitty,但更轻更现代。
官网:
我的配置效果:
半透明毛玻璃窗口——透出桌面壁纸,但不影响代码阅读
Catppuccin Mocha 深色主题——配色柔和不刺眼
Maple Mono NF 字体——支持 Nerd Font 图标显示
关掉再打开,标签页、分屏布局、窗口位置全部自动恢复
常用快捷键(装好就能用):
⌘+T — 新建标签页
⌘+D — 右侧分屏(竖分)
⌘+Shift+D — 下方分屏(横分)
⌘+] / ⌘+[ — 在分屏之间切换焦点
⌘+Shift+Enter — 当前分屏最大化/还原(写代码时临时全屏某个面板很爽)
⌘+W — 关闭当前分屏/标签
⌘+= / ⌘+- — 放大/缩小字体(临时调整,不改配置)
⌘+, — 快速打开配置文件
⌘+Shift+, — 重新加载配置(改完不用重启终端)
和 iTerm2 比有什么不同?
说实话功能上 iTerm2 更全(profile 系统、触发器、tmux 集成那些)。但 Ghostty 的优势是:
启动快——冷启动体感不到 0.5 秒,iTerm2 要等一下
配置简单——一个纯文本文件,不用在 GUI 里翻半天
原生渲染——GPU 加速,内存占用低很多
改配置即时生效——保存文件的瞬间终端就变了,不用重启
如果你不需要 iTerm2 那些高级功能(大部分人确实不需要),Ghostty 各方面体验都更好。
想预览所有内置主题?终端里输入 ghostty +list-themes,300 多个主题全列出来,挑个名字换上就行。
Starship — 彩虹提示符
Starship 是用 Rust 写的跨平台提示符,替代 oh-my-zsh 的 theme,但快得多。
装 Starship 最大的理由就是好看。每次打开终端看到这条彩虹色信息条心情就很好,比 oh-my-zsh 那些主题高出好几个档次。而且好看的同时还实用——每个颜色块对应一类信息:
plaintext
红色(用户) → 橙色(路径) → 黄色(Git) → 绿色(语言版本) → 紫色(时间)一眼能看到当前目录、Git 分支、Node/Python/Rust 版本、时间。

我的配置特点:
基于官方 catppuccin-powerline 预设,多色渐变
加了换行——信息条完整展示在第一行,光标在第二行,你永远有一整行来输入命令
Git 状态实时显示——有未提交的修改?有未推送的 commit?提示符上直接看到,不用每次 git status
三个 zsh 插件 — 不用 oh-my-zsh
oh-my-zsh 的问题是太重了。就算你只启用几个插件,它的框架本身每次启动都要加载一堆东西。其实我们只需要 3 个独立插件就够了,不需要一个框架帮你"管理"它们。
1️⃣ zsh-autosuggestions — 输入命令不用打完
你开始输入命令的时候,它会在光标后面用灰色显示一条历史命令建议。如果就是你想要的,按 → 键或者 Ctrl+F 一键接受整条命令。
比如你之前跑过 docker compose up -d,下次只要输入 dock 它就自动补出完整命令。日常 90% 的命令都是重复的,这个插件省掉的敲键盘次数比你想象的多。

2️⃣ zsh-syntax-highlighting — 打错命令立刻知道
你还没按回车,命令的颜色就告诉你对不对了:
命令存在 → 绿色
命令不存在(打错了)→ 红色
字符串 → 带引号高亮
路径存在 → 下划线
再也不用回车之后才发现 command not found。一边输入一边就能看到问题。

3️⃣ zsh-completions — Tab 补全更聪明
系统自带的 Tab 补全只能补文件名和少数命令。zsh-completions 扩展了几百个命令的参数补全——git、docker、brew、kubectl 这些复杂命令的参数都能补全。
举个例子:git checkout 按 Tab,直接列出所有本地分支让你选,不用先 git branch 查一遍再手打分支名。docker run 按 Tab 能补出 --rm、-it、-v 这些参数,不用每次去翻文档。
按 Tab 弹出候选菜单,连续按 Tab 可以用光标在列表里移动选择。而且大小写不敏感,输入 cd dow 能补出 Downloads。

五个现代 CLI 工具
1️⃣ fzf — 模糊搜索(最值得装的一个)
fzf 本质是一个通用的模糊过滤器,装完之后 zsh 里自动多了两个快捷键:
Ctrl+R → 模糊搜索历史命令
Ctrl+T → 模糊搜索当前目录下的文件
最常用的是 Ctrl+R。场景:你两小时前跑过一个很长的 Docker 命令,现在想再跑一次。以前要按 ↑ 一直翻,或者 history | grep xxx 去猜关键词。现在 Ctrl+R 弹出搜索框,输入你记得的任意片段(哪怕只记得中间几个字母),实时过滤,选中回车直接执行。
Ctrl+T 也很实用。比如你要 cat 一个文件但不记得完整文件名,输入 cat 然后按 Ctrl+T,弹出文件列表直接搜。
还有个隐藏用法:在命令后面输入两个星号再按 Tab 触发 fzf 补全。比如输入 cd 然后按 Tab,会弹出 fzf 搜索所有子目录;输入 kill 按 Tab,会列出所有进程让你选。


2️⃣ zoxide — 智能跳转(用了回不去的那种)
zoxide 会在后台默默记录你 cd 过的所有目录,按访问频率和时间排序。然后你用 z 命令代替 cd,只需要打路径里的几个关键字母:
bash
z ghost # 直接跳到 ~/UserData/GitHubProjects/ghostty-terminal-config
z obsi # 直接跳到 ~/UserData/ObsidianProjects
z down # 直接跳到 ~/Downloads不用记完整路径,不用 Tab 一层层补全。你去过的目录它都记得,用得越多越准。
如果有重名冲突(比如多个目录都包含 "config"),用 zi 进入交互模式,配合 fzf 列出所有匹配项让你选。
一个小细节:zoxide 的数据会自动衰减。长时间没去过的目录权重会慢慢降低,不用手动清理。
⚠️ 注意:不要设置 alias cd="z",会出问题。直接用 z 就好,习惯很快就养成了。

3️⃣ eza — 替代 ls(看一眼就不想用回系统 ls)
系统自带的 ls 输出就是白花花一片文件名,什么信息都看不出来。eza 加了图标、颜色、目录优先排序,文件夹和文件一眼就能区分。
我配了三个别名覆盖系统命令:
ls — 日常看文件列表,文件夹排前面,每个文件前面有对应类型的小图标
ll — 详细信息(权限、大小、修改时间),按名称排序
lt — 树形视图,展开两层目录结构,快速了解项目布局

4️⃣ bat — 替代 cat(终端里看代码终于有颜色了)
系统 cat 输出的代码全是白色纯文本,看多了眼睛疼。bat 自动识别文件类型,加语法高亮——Python 是一套颜色,JavaScript 是一套颜色,JSON/YAML/Markdown 都有对应的高亮方案。
我用别名直接覆盖了 cat,用起来习惯完全一样,但输出好看多了。
日常场景:快速看一个配置文件 cat ~/.zshrc,注释、命令、字符串一眼就分清了。排查问题的时候特别明显,没颜色的纯文本真的看不动。

5️⃣ yazi — 终端文件管理器(Finder 的键盘版)
如果你经常需要在终端里浏览文件、移动文件、批量重命名,yazi 比反复 cd + ls 效率高太多了。
它是三栏布局:左边上级目录,中间当前目录,右边预览选中文件的内容。全键盘操作:
j / k — 上下移动光标
l — 进入目录 / 打开文件
h — 返回上一级
空格 — 选中文件(可多选)
d — 删除选中的文件
r — 重命名
p — 粘贴(配合 y 复制或 x 剪切)
q — 退出

用法:终端里输入 y 回车打开 yazi,浏览到目标目录,按 q 退出——终端自动就在那个目录了。省掉了 cd 那一步。
最终效果
配完之后你得到的是:
半透明毛玻璃终端窗口,透出桌面壁纸
彩虹色信息条,一眼看清路径/分支/语言版本
输入命令时灰色提示历史记录,按 → 直接补全
打错命令实时变红,打对变绿
Ctrl+R 模糊搜索历史命令
z + 几个字母跳到任何常去的目录
ls 自带图标和颜色,cat 自带语法高亮
关掉再打开,所有标签页和布局自动恢复
这套配置我用了大半年,比之前 iTerm2 + oh-my-zsh 的体验好太多。启动快、配置简单、不臃肿。
配合上一篇搞好的 Alfred Workflow,开机到进入 coding 状态只需要几秒。终端本身就是生产力工具,配好了每天能省下不少碎片时间。
结论

安装后,打开速度很快,很丝滑;还有code预览,图片预览,代码高亮提示等;确实提升了效率。推荐!!!