Ghostty - 我终于找到了 iTerm2 的替代品

Ghostty - 我终于找到了 iTerm2 的替代品

为什么我从 iTerm2 切换到 Ghostty

用了 iTerm2 十年,从没想过会换终端。直到我遇到了 Ghostty

项目信息

  • 36.6k stars
  • 🚀 作者: Mitchell Hashimoto(Vagrant、Terraform 创始人)
  • 🦎 语言: Zig (81.2%) + Swift (10%)
  • 📝 License: MIT
  • 🎨 渲染: Metal (macOS) / OpenGL (Linux)

三个让我切换的理由

1. 性能:快得离谱 🚀

实测数据

  • 比 iTerm2 快 4 倍
  • 比 Kitty 快 4 倍
  • 比 Terminal.app 快 2 倍
  • 和 Alacritty 相当,但功能更丰富

实际感受

1
2
3
# 读取大文件
cat large_file.txt  # iTerm2: 明显卡顿
                    # Ghostty: 丝般顺滑

为什么这么快?

  • 原生 Metal 渲染(iTerm2 只有纯文本用 Metal)
  • 连字(ligatures)也用 Metal(iTerm2 会降级到 CPU)
  • 专用 IO 线程,低延迟

2. 原生体验:真正的 Mac App 🍎

iTerm2 的问题

  • Objective-C 老代码,界面过时
  • 设置面板臃肿混乱
  • 不支持 SwiftUI

Ghostty 的优势

  • 纯 SwiftUI 应用
  • 原生 macOS 菜单栏
  • 符合苹果设计规范
  • 设置界面现代化

外观对比

iTerm2:    [████░░░░] 老旧感
Ghostty:   [████████] 现代感

3. 功能完整:不妥协 ✨

基础功能

  • ✅ 多窗口
  • ✅ 标签页
  • ✅ 分屏(splits)
  • ✅ 搜索
  • ✅ 快捷键定制

高级特性

  • ✅ 完整的 xterm 兼容性
  • ✅ 真彩色(24-bit color)
  • ✅ 连字支持
  • ✅ 图片协议(Kitty、iTerm2)
  • ✅ Shell 集成
  • ✅ GPU 加速

快速上手

安装

macOS (Homebrew):

1
brew install --cask ghostty

从源码编译:

1
2
3
git clone https://github.com/ghostty-org/ghostty
cd ghostty
zig build

基本配置

配置文件位置:~/.config/ghostty/config

我的配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 字体
font-family = "JetBrains Mono"
font-size = 14

# 主题(自动跟随系统)
theme = auto

# 窗口
window-padding-x = 10
window-padding-y = 10
window-decoration = true

# 性能
shell-integration = true

常用快捷键

窗口管理

Cmd + T          # 新标签
Cmd + W          # 关闭标签
Cmd + D          # 垂直分屏
Cmd + Shift + D  # 水平分屏
Cmd + [/]        # 切换标签
Cmd + Opt + ←/→  # 切换分屏

搜索

Cmd + F          # 搜索
Cmd + G          # 下一个
Cmd + Shift + G  # 上一个

迁移过程

从 iTerm2 迁移

1. 导出 iTerm2 配色

我之前用的是 Dracula 主题,Ghostty 原生支持:

1
2
# config
theme = dracula

2. 快捷键映射

大部分快捷键都一样,只需要适应几个:

1
2
3
4
# config
keybind = cmd+t=new_tab
keybind = cmd+d=split_vertical
keybind = cmd+shift+d=split_horizontal

3. Shell 集成

添加到 .zshrc:

1
2
3
4
# Ghostty shell integration
if [ -n "$GHOSTTY_RESOURCES_DIR" ]; then
    source "$GHOSTTY_RESOURCES_DIR/shell-integration/zsh/ghostty-integration"
fi

迁移检查清单

  • 配色方案
  • 字体设置
  • 快捷键
  • Shell 集成
  • SSH 配置
  • tmux 兼容性

实际使用感受

优点 ✅

  1. 启动速度:瞬间打开,比 iTerm2 快很多
  2. 响应速度:输入零延迟,cat 大文件不卡
  3. 内存占用:比 iTerm2 省内存
  4. 界面简洁:没有 iTerm2 那么多设置项
  5. 主动开发:Mitchell 每天都在更新

需要适应的点 ⚠️

  1. 设置界面:还在开发中,某些设置需要手动编辑配置文件
  2. 插件生态:没有 iTerm2 那么多插件
  3. 文档:正在完善中,有些功能需要摸索

兼容性 ✅

完美兼容

  • zsh / bash / fish
  • tmux / screen
  • neovim / vim
  • 所有命令行工具

测试过的工具

1
2
3
4
5
6
# 都工作正常
htop
lazygit
ranger
ncdu
btop

性能对比

我的测试(M1 MacBook Pro):

操作iTerm2Ghostty提升
启动时间0.8s0.2s4x
cat 10MB 文件2.5s0.6s4x
滚动大输出卡顿流畅
内存占用180MB95MB2x

为什么 Ghostty 这么快?

架构设计

iTerm2 的问题

文本 → CPU 排版 → 绘制到屏幕
       ↑
     瓶颈

Ghostty 的方案

文本 → GPU 排版 → GPU 渲染 → 屏幕
       ↑          ↑
     Metal      Metal

技术栈

  • Zig - 系统级编程语言,零开销抽象
  • Metal - 苹果原生 GPU API
  • SwiftUI - 原生 UI 框架
  • CoreText - 原生字体渲染

适合你吗?

推荐使用 ✅

如果你:

  • Mac 用户(目前主要支持)
  • 需要高性能终端
  • 喜欢原生应用体验
  • 愿意尝试新工具
  • 需要现代化的终端

暂时观望 ⏳

如果你:

  • 需要很多 iTerm2 特有功能
  • 依赖 iTerm2 插件
  • 需要极度稳定的环境
  • Windows/Linux 用户(支持中)

常见问题

Q: 稳定吗?

虽然版本号还是 0.x,但我用了一个月,没遇到崩溃。作者是 Vagrant 创始人,代码质量有保证。

Q: 会继续维护吗?

Mitchell 全职开发,GitHub 每天都有提交。社区也很活跃(404 位贡献者)。

Q: 配置迁移难吗?

我花了 10 分钟。大部分配置是通用的(字体、配色、快捷键)。

Q: 性能真的有那么大提升吗?

在我的 M1 Mac 上,明显感觉更快。特别是:

  • 启动速度
  • 大文件输出
  • 快速滚动

结论

一句话总结

如果 iTerm2 是 2010 年代的最佳终端,那么 Ghostty 就是 2020 年代的答案。

我的建议

  1. 试用一周 - 你会回不去
  2. 保留 iTerm2 - 以防万一
  3. 关注更新 - 功能每天都在增加

最后的话

作为一个对工具有洁癖的开发者,能让我从 iTerm2 切换过来,Ghostty 真的做到了三个字:

快、美、稳

相关资源


更新日志

  • 2025-10-08: 首次使用,已切换为主力终端
  • iTerm2 依然在 Applications 文件夹,但已经一个月没打开了 😅

#Ghostty #Terminal #macOS