
谁不想要一个好看点的终端界面呢
AI Agent 把不少人拉进了终端。第一次看到那一片黑底白字,难免会想:能不能好看点?这篇分享我自己的配置——字体、prompt 主题、两个 zsh 插件,三件事配齐,哪个 terminal 都通用。
经常有人看到我终端截图问:"你这是什么 terminal?" 其实跟用哪个 terminal 关系不大——配置都是通用的,iTerm2、WezTerm、Warp、Kitty 上跑出来都差不多。真正决定终端"长得好不好看、用得舒不舒服"的,是这三件事:
- 一个带图标的等宽字体(Nerd Font)
- 一个能显示当前路径、Git 状态、语言版本的 prompt 主题
- 两个让打字体验完全不一样的 zsh 插件
Claude Code https://www.claude.com/product/claude-code、Codex https://github.com/openai/codex、Gemini CLI 这类命令行 AI Agent 流行起来之后,本来不怎么打开终端的朋友也开始用起来了——装好之后第一次进去,看着默认那一片黑底白字、什么提示都没有的窗口,确实有点朴素。这篇就是把我自己的配置分享出来,让终端不止"能用"还"看着舒服"。
我用的 terminal 是 Ghostty https://ghostty.org,文章后半段会附我的 Ghostty 配置文件;但前面三件事在哪个 terminal 上跑都一样。最后还有一段可以直接丢给 AI Agent 帮你跑完整套流程的提示词,以及一个一键 shell 脚本——按你方便的方式选一种。
一、字体:装 Nerd Font,否则 prompt 里都是豆腐块
Nerd Fonts https://www.nerdfonts.com 是把开源等宽字体打了个图标补丁的合集。打过补丁的字体里塞了几千个开发常用图标(Git 分支、文件夹、Docker 鲸鱼、Node.js 标志……),prompt 主题里那些好看的小图标全靠它。
我用的是 Maple Mono https://font.subf.dev,作者 subframe7536。它的几个特点:
- 圆角等宽,字形漂亮
- 内置连字(ligatures),
->会显示成→、!=显示成≠ - CN 版本中英文宽度严格 2:1——这个对在终端里看中文输出非常关键,没有它对齐会乱
- 已经被 Homebrew 收录,一行命令搞定
如果你的工作流里没有中文,可以用不带 CN 的版本(更轻):
不喜欢 Maple 也行,Nerd Fonts 官网 https://www.nerdfonts.com/font-downloads 把 JetBrains Mono、FiraCode、Hack、Iosevka 这些都打过补丁了。挑一个顺眼的,记住它的名字(终端里要写进配置)。
图片来源:Maple Mono 官方仓库 https://github.com/subframe7536/maple-font
二、shell:装 oh-my-zsh,把 prompt 换成 Spaceship
macOS 默认 shell 已经是 zsh,只是没有什么配置。装 oh-my-zsh https://ohmyz.sh 等于给 zsh 套了个壳,方便管理主题和插件。
装完会在用户目录下生成 ~/.zshrc——这就是 zsh 的配置文件,相当于 bash 的 .bashrc。
接着装 Spaceship Prompt https://spaceship-prompt.sh 主题。它会根据当前目录自动显示 git 分支、Node 版本、Python 虚拟环境、AWS profile 之类的上下文信息——你不用手动 git status 就能知道当前分支干净不干净。
这里的$ZSH_CUSTOM是 oh-my-zsh 自动设置好的环境变量,指向你自定义主题/插件的目录(默认是~/.oh-my-zsh/custom)。ln -s是在创建一个 symlink(符号链接,类似 macOS 里的"替身/别名"),不会真的复制文件。直接复制粘贴运行就行,不用替换里面的变量名。
然后编辑 ~/.zshrc,把 ZSH_THEME 这一行改成:
主题装好之后先别急着重开终端——插件还没装。把下面两个插件一起配上,效果会立马差很多。
三、两个必装插件:自动建议 + 语法高亮
zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions:根据你的历史命令,在你打字时用灰色字体在光标后面提示一条最可能的完整命令,按 → 直接接受、不用全部敲完。常用命令越用越快。
zsh-syntax-highlighting https://github.com/zsh-users/zsh-syntax-highlighting:边打边给命令上色——命令对了变绿、错了变红,引号、变量、参数都有不同颜色。打错命令在按回车之前就能发现。
zsh-syntax-highlighting 上色效果(命令对了变绿、错了变红、引号/参数有专门颜色):
图片来源:zsh-syntax-highlighting 官方仓库 https://github.com/zsh-users/zsh-syntax-highlighting。zsh-autosuggestions 的灰色建议效果可以参考上一节那张 Spaceship 动图——光标后面那一段灰色文字就是它。
然后编辑 ~/.zshrc,找到 plugins=(...) 这一行,把两个插件名加进去(顺序很重要——zsh-syntax-highlighting 必须放最后):
到这里,三件事——Spaceship 主题、自动建议、语法高亮——都装好了。下面这张动图把它们配齐之后跑起来的样子展示得很清楚:
图片来源:Spaceship Prompt 官方仓库 https://github.com/spaceship-prompt/spaceship-prompt。光标后面那一段灰色文字是 zsh-autosuggestions,命令绿/黄/红的彩色高亮是 zsh-syntax-highlighting,左边的路径 + 上下文信息是 Spaceship 主题。
四、让配置生效
source 的意思是"让 zsh 把配置文件重新读一遍"——不用关终端就能让改动立即生效。或者直接关掉终端窗口重开也行。
新开的窗口里 prompt 应该已经变成 Spaceship 风格——左边显示路径,右边显示 git 分支、Node/Python 版本之类的上下文。如果看到豆腐块( 这种没渲染出来),多半是终端字体没切到 Nerd Font,去 terminal 的偏好设置里把字体改成你刚装的那个(比如 Maple Mono NF CN)。
到这里,三件事就配完了——字体、Zsh prompt、两个插件。下面的章节是附录,按需阅读:
- 附录 A:我的 Ghostty 配置(如果你也用 Ghostty)
- 附录 B:把这段提示词丢给 AI Agent,让它替你跑完整套(最省事)
- 附录 C:一键 shell 脚本(你已经熟悉终端的话)
附录 A:我的 Ghostty 配置
用 Ghostty 是我自己的选择——它的配置文件简单直白、容易上手。如果你用的是 iTerm2、WezTerm、Warp、Kitty 或别的 terminal,每家都有自己的偏好设置和主题面板,按相应的样式 / 主题选项调一下,也能达到差不多的视觉效果。这一节当成参考看就好。
字体和 zsh 配好之后,剩下的就是 terminal 本身的视觉调优了。Ghostty 配置文件在 ~/.config/ghostty/config,下面是我的全部内容:
这张图把前面讲的几乎所有东西都展示了:半透明 + 毛玻璃背景透出后面的桌面、透明标题栏让窗口顶部和内容融为一体;上方一行 prompt 是 Spaceship 主题在告诉你「项目 zipic-web、git 分支 main、包版本 0.0.1、Node 版本 v24.14.0」;命令行里 cl 是已经输入的部分(zsh-syntax-highlighting 把它标成了绿色),后面灰色的 aude --dangerously-skip-permissions 是 zsh-autosuggestions 根据历史命令给出的补全建议——按一下 → 就能直接接受。
挑几条值得说的:
theme = Ayu——Ghostty 内置了一堆主题,ghostty +list-themes可以列出来挨个看。注释里那行是跟随系统亮暗模式自动切换的写法,喜欢的话取消注释、注掉下面那行单主题。background-opacity = 0.9+background-blur = true——半透明 + 毛玻璃,让你能瞄到背后的窗口但不至于干扰阅读。Ghostty 1.2 之后background-blur在 macOS 上还能写成macos-glass-regular之类的 Liquid Glass 风格值。window-padding-balance = true——窗口内边距均匀分布在四周,而不是堆在左上角,整个画面更对称。macos-titlebar-style = transparent——标题栏背景跟终端融为一体,整体更干净。copy-on-select = true——选中即复制(macOS 没这习惯但 Linux 用户会感谢你)。keybind = shift+enter=text:\n——Shift+Enter 输入真正的换行,方便在 Claude / Codex 这类 CLI Agent 里换行不发送。unfocused-split-opacity = 0.5——分屏时未聚焦的那一块会变暗一半,视觉焦点很清楚。
附录 B:最省事的路径——把提示词丢给 AI Agent
如果你已经在用 Claude Code https://www.claude.com/product/claude-code、Codex https://github.com/openai/codex、Cursor Agent、Gemini CLI 这类命令行 AI Agent——把下面这段整段复制粘贴给它就行,剩下的它自己会跑:
Agent 自己会判断系统是 macOS 还是 Linux、有没有 Homebrew、.zshrc 里 plugins= 那行长什么样、需不需要 sudo。整个过程基本不用你动手,看着它跑就行——本来就是为了让 AI Agent 替你干活,那把配置终端这种重复劳动也交给它就好了。
附录 C:一键 Shell 脚本(如果你已经熟悉终端)
如果你已经熟悉终端、不想每次都跑 AI Agent,也可以把上面所有步骤打包成一个脚本。复制保存为 setup-terminal.sh,然后 bash setup-terminal.sh:
脚本做了几件防呆的事:检测 Homebrew 没装就先装、避免重复 clone、改 .zshrc 之前先备份一份带时间戳的副本。改完不满意?mv ~/.zshrc.backup.* ~/.zshrc 一键回滚。
收尾
字体能不能渲染图标、prompt 上能不能看到当前上下文、打字时有没有实时反馈——这三件事配好,无论你最后用 Ghostty、iTerm2 还是 Alacritty,终端都会更顺眼一些,跟着 CLI Agent 干活也会更顺手。
如果你是刚开始接触终端的朋友,希望这篇能帮你少走点弯路。
参考
- Ghostty 官网 https://ghostty.org
- Ghostty 配置参考 https://ghostty.org/docs/config/reference
- Ghostty 1.3.0 Release Notes https://ghostty.org/docs/install/release-notes/1-3-0
- Nerd Fonts https://www.nerdfonts.com
- Maple Mono https://font.subf.dev
- oh-my-zsh https://ohmyz.sh
- Spaceship Prompt https://spaceship-prompt.sh
- zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions
- zsh-syntax-highlighting https://github.com/zsh-users/zsh-syntax-highlighting

