当前位置: 首页 > news >正文

比 iTerm2 更适合 Claude Code/Codex 的终端,我换成 Ghostty 了

你好,我是小 G。我把终端从 iTerm2 换到 Ghostty 已经有三个月了。

整体体验还不错,这篇文章来分享一下。

Ghostty 不是 Claude Code 的官方指定终端,但确实被 Claude Code 带火了一把。Claude Code 创始人 Boris Cherny 在聊团队使用习惯时提到,他们的开发团队程序员非常喜欢 Ghostty。

我自己也是看了这个分享,后来被 iTerm2 搞烦了之后转去的。

用 Claude Code 或 Codex CLI 跑久了,终端会变成一个小工作台:一边看 Agent 输出,一边跑测试、看日志、处理 Git。iTerm2 当然也能做,但要调到顺手,通常得花不少时间配字体、主题、快捷键和分屏。Ghostty 的好处是下载下来就已经比较能用,后面只是按自己的习惯微调。

Ghostty 做的事情就是把终端模拟器这件事做好,没有什么花里花哨的。它没有内置 AI,也不是服务器管理器。

当然了,iTerm2 、Warp、Kitty 等等,都是不错的,我希望看到这篇文章的朋友不要因为这些争论,你自己用着顺手才是最重要的!

安装

macOS 直接用 Homebrew:

brewinstall--caskghostty

也可以去官网下载.dmg,拖到 Applications。官方 macOS 包是 Ghostty 项目签名并经过 notarize 的;Homebrew cask 用的也是官方.dmg

装完看一下版本:

/Applications/Ghostty.app/Contents/MacOS/ghostty +version

如果 CLI 已经进 PATH:

ghostty +version

版本说明:本文按我本机的Ghostty 1.3.1校对。Ghostty 更新挺快,配置项以你本机的ghostty +show-config --default --docs为准。

Linux 安装方式要看发行版。Arch Linux 可以直接:

sudopacman-Sghostty

其他发行版优先看官方安装页。Ghostty 官方直接分发的是 macOS 预构建包,Linux 包多由发行版维护者或社区维护;工作机、公司机器上别随手跑来路不明的安装脚本。

先用默认值跑一天

其实你不需要做任何配置都能用,已经能够满足大部分朋友的需求了。

Ghostty 默认内置 JetBrains Mono,也带 Nerd Fonts 能力。大多数人不配字体也能直接用。

刚开始用,别一上来复制几百行配置。先打开跑一天,再改字体、主题、窗口内边距、透明度、剪贴板、Shell Integration 和分屏快捷键。终端配置越长,出问题越难查;Ghostty 值得用的一点,就是可以少配。

配置文件在哪里

Ghostty 配置就是key = value。当前推荐文件名是config.ghostty,旧文件名config仍会被读取。常见路径:

~/.config/ghostty/config.ghostty ~/.config/ghostty/config

macOS 还会读:

~/Library/Application Support/com.mitchellh.ghostty/config.ghostty ~/Library/Application Support/com.mitchellh.ghostty/config

两个地方都有配置时,macOS 的 Application Support 路径后加载,冲突项会覆盖前面的值。配置不生效,先查这个。

常用检查命令:

ghostty +list-fonts ghostty +list-themes ghostty +list-keybinds--defaultghostty +validate-config

改完配置后,macOS 按Cmd + Shift + ,重载,Linux 按Ctrl + Shift + ,。透明度这类窗口项不一定热更新,没变化就重启 Ghostty。

我的最小配置

先建目录:

mkdir-p~/.config/ghostty

编辑配置:

nano~/.config/ghostty/config.ghostty

可直接用这一份:

# 字体 font-family = "JetBrainsMono Nerd Font Mono" font-size = 14 font-thicken = true font-thicken-strength = 80 font-codepoint-map = U+2E80-U+9FFF,U+F900-U+FAFF,U+FF00-U+FFEF=PingFang SC # 主题 theme = Catppuccin Mocha # 窗口 window-padding-x = 12 window-padding-y = 10 window-save-state = always background-opacity = 0.95 background-blur = 20 # 光标和滚动 cursor-style = bar cursor-style-blink = true scrollback-limit = 10000000 scrollbar = never # Shell Integration shell-integration = detect shell-integration-features = cursor,sudo,title # macOS macos-option-as-alt = left macos-titlebar-style = transparent macos-titlebar-proxy-icon = hidden # 分屏 split-divider-color = #45475a unfocused-split-opacity = 0.92 # 剪贴板 copy-on-select = false clipboard-paste-protection = true clipboard-paste-bracketed-safe = true

字体这里用的是 JetBrainsMono Nerd Font Mono,主要是为了让 Git 分支符号、Starship prompt、Powerline 图标别变成方块。没装的话:

brewinstall--caskfont-jetbrains-mono-nerd-font

中文不要直接把PingFang SC当第二个font-family乱塞。主字体没命中时,英文可能也落到中文字体上,字距会很怪。font-codepoint-map只把中文码位交给PingFang SC,更稳。

copy-on-select = false是我的习惯。Ghostty 默认选中文本会复制,Linux 用户可能喜欢;在 macOS 上,我更愿意手动Cmd + C,避免剪贴板被误覆盖。

clipboard-paste-protection = true建议留着。从网页复制多行命令进终端,本来就应该多一道提醒。

scrollback-limit的单位是字节,不是行数;10000000大约是 10 MB,而且每个分屏、标签页都会单独算。

主题

列出内置主题:

ghostty +list-themes

换主题只要一行:

theme = TokyoNight

我一般用:

theme = Catppuccin Mocha

想跟随系统明暗模式:

theme = dark:Catppuccin Mocha,light:Catppuccin Latte

Ghostty 内置主题已经够多。自定义主题本质上也是一段会被 Ghostty 加载的配置片段,大多数只改颜色;从陌生来源下载时,打开看一眼,确认它没有顺手改字体、透明度或 keybind。

Starship 可选

Ghostty 管终端窗口、字体、主题和协议;Starship 管 shell prompt。

想让 prompt 和 Catppuccin 风格一致,可以装:

brewinstallstarship

~/.zshrc末尾加:

command-vstarship>/dev/null&&eval"$(starship initzsh)"

想确认 Starship 到底显示了哪些模块,可以在 Git 仓库里跑:

starship explain

我不建议一开始就把 Starship 模块全开。目录、Git 分支、Git 状态、耗时够用;Kubernetes、云账号、容器这些东西,用到再加。prompt 每次回车都要计算,信息太满反而慢。

分屏和常用快捷键

macOS 下先记这些:

快捷键作用
Cmd + T新标签页
Cmd + W关闭当前终端或分屏
Cmd + D向右分屏
Cmd + Shift + D向下分屏
Cmd + [/Cmd + ]前后切换分屏
Cmd + Option + 方向键按方向切换分屏
Cmd + Shift + Enter放大/恢复当前分屏
Cmd + F搜索历史输出
Cmd + Shift + ,重载配置
Cmd + Shift + P命令面板

跑 Claude Code 时,三块布局最顺手:

  1. Cmd + D左右分屏。
  2. 光标放到右侧,Cmd + Shift + D再上下分屏。
  3. 左侧跑 Claude Code,右上跑测试,右下看日志或 Git。
  4. Claude 输出太长,按Cmd + Shift + Enter临时放大。

这个布局不用 tmux,也不用多个窗口来回摆。

想自己绑快捷键,用这个格式:

keybind = trigger=action

例如:

keybind = cmd+shift+e=equalize_splits keybind = cmd+shift+f=toggle_split_zoom

Quick Terminal

Quick Terminal 是从屏幕上方滑下来的临时终端。适合临时跑命令,不适合承载整天的主工作流。

配置:

quick-terminal-position = top quick-terminal-screen = main quick-terminal-autohide = true quick-terminal-animation-duration = 0.15 keybind = global:ctrl+grave_accent=toggle_quick_terminal

Quick Terminal 没有默认快捷键,必须自己绑定toggle_quick_terminalglobal:不是所有平台都能用:macOS 需要给 Ghostty 辅助功能权限,Linux/GTK 要看桌面环境是否支持全局快捷键协议。配置没问题但快捷键没反应时,先查系统权限、桌面环境支持和快捷键冲突。

另外,macOS 上改quick-terminal-position后需要完整重启 Ghostty。

Shell Integration

这一项我会留着:

shell-integration = detect

Ghostty 会给 zsh、fish、bash、nushell、elvish 加一段集成脚本。开了以后,新分屏会跟着当前目录走;比如你在项目根目录里开右侧分屏,右边不会又回到 home 目录。复杂 prompt 换行和 resize 也少一点错位,历史输出还能按 prompt 跳。

有两个小坑。

macOS 自带/bin/bash太老,官方文档说它不支持自动注入;默认 zsh 用户一般不用管。另一个是你在 Ghostty 里手动切 shell,比如进nix-shell,集成能力可能会丢,需要手动加载对应脚本。

SSH 不急着配

Ghostty 有自己的 terminfo 和协议能力。远程主机不认识时,Neovim、htop 这类 TUI 可能显示异常。

如果你只是偶尔 SSH,先别动。真遇到远程显示问题,再考虑:

shell-integration-features = cursor,title,ssh-env,ssh-terminfo

SSH 环境本来就复杂,没问题时少加一层包装。

常见问题

配置不生效,先查两个目录,再跑校验:

ls-la~/.config/ghosttyls-la"$HOME/Library/Application Support/com.mitchellh.ghostty"ghostty +validate-config

网上有些配置会写=== 字体 ===这种分隔符,Ghostty 不认。注释要写成# 字体

英文字距很怪,先看字体名有没有命中:

ghostty +list-fonts|rg-i"JetBrains|Mono|Nerd"

如果你写了font-family = JetBrains Mono,但本机没这个字体,Ghostty 会 fallback。fallback 到中文字体时,英文就容易变丑。装字体,或者改成 Ghostty 实际识别到的 family 名。

主题名以ghostty +list-themes输出为准。看到Catppuccin Mocha,配置里就原样写:

theme = Catppuccin Mocha

透明度没变化,先完整重启 Ghostty。还有一种情况是 Neovim、tmux 自己画了背景色;Ghostty 默认只让窗口背景透明,不保证所有显式背景色的单元格都透明。真要连这些 cell 也一起透明,再看background-opacity-cells

选中文本把剪贴板覆盖了,就关掉:

copy-on-select = false

Quick Terminal 全局快捷键没反应,查三件事:配置里有没有global:,系统权限或桌面环境是否支持,快捷键是不是被其他软件占了。

总结

如果只是想换个好看的终端,iTerm2 也能调主题和透明度。

Ghostty 更适合类似我这种适用场景的朋友:每天在终端里跑 Agent、测试、日志,想要原生窗口、默认分屏、可读配置和更轻的长输出体验。

如果你也想体验的话,不如先用默认配置跑一天,再改字体和主题;分屏用顺了,再考虑 Quick Terminal。

如果你也想用我的同款配置的话,不需要自己动手,这样太累了。AI 时代,最简单的方法就是把我这篇文章发送给你最信任的 Coding Agent 例如 Codex、Claude,让它帮你安装配置。

这篇文章已经同步到了 AIGuide:AI 应用开发、AI 编程实战与面试指南(对标 JavaGuide,完全开源免费):

  • AI 应用开发知识体系
  • AI 编程实战指南

希望这篇文章对大家有帮助,我们下期再见!

http://www.jsqmd.com/news/1094134/

相关文章:

  • 进程备忘录
  • 从实战到预防:NBU证书生命周期管理与Error 8506深度解析
  • 路由器里有个你看不到的队列
  • 模具全流程数字化验证三方案横评:CMM、激光扫描、蓝光3D扫描谁更香?
  • 一分钟学会 C++ 标准模板库智能指针
  • 独立开发者用MonkeyCode一个月:我的真实收入变化
  • 做了一个月 Skills,我才理解 Agent 可靠性的本质
  • 钉钉ONE项目用10个月证明了一件事:资源多不等于做得好
  • PHP无字母数字RCE:位运算与临时文件上传的绕过艺术
  • 逆向工程实战:VMP 3.x x64壳导入表修复与VMPDump工具应用
  • 热场分布一目了然!安科瑞光纤测温系统,让数据说话
  • 从滤波器到匹配滤波:幅频与相频特性如何塑造信号处理
  • 2026耳夹耳机哪个品牌好?耳夹耳机排行榜前十名多维度参数测评
  • ESP32 入门教程(一):使用 GPIO 控制 LED 亮灭
  • 轻量化算力方案:某科技公司的AI研发算力服务器案例
  • LSLIDAR激光雷达C16-V4 改频率
  • NPDP培训机构怎么选?盯着这4个问题问就对了!
  • LangChain基础实践——论文阅读助手
  • 华大九天加大投资并购力度,韬定律驱动EDA全流程加速布局
  • 计科八股20260629——离散数学复习(数理逻辑、集合论、代数结构,图论明天补)
  • AutoCAD Architecture 2027下载安装教程【超详细】保姆级图文教程(附安装包)
  • 兰大一篇顶刊插图翻车,全网科研人慌了:AI绘图彻底禁用?
  • Java毕业设计-基于 SpringBoot 框架的项目审批管理系统设计与开发 面向企业的项目评审流程管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 写 Dioxus Demo 不难,难的是把它写成项目
  • 淘宝电商课程哪个更适合新手
  • Java单例模式
  • 2026年企业采购AI外呼系统:怎么选性价比更高?
  • 终极免费跨平台KVM软件指南:如何用Barrier一套键鼠控制多台电脑
  • 一次 GitHub Actions 翻车实录:E2E 测试把我的后端项目按在地上做体检
  • pg空值管理