⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247552788&idx=1&sn=f0a3cbe0850190053af99cdff11061e8&poc_token=HNIp_GmjpmCnQjxqywuwtrEtP8yDAVtfA_V3w6b_ 「null」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

大家好,我是 Guide。今天和大家聊聊几个近两年热度很高的“现代终端”。

对于开发者来说,终端可能是除了编辑器之外,每天打交道最多的界面:写代码、跑命令、看日志、连服务器、排障、写脚本等等。

很多 macOS 开发者,包括我,至今仍在用 iTerm2——一个仍在维护、但产品形态多年没有明显变化的工具。

我最近换着用了几款号称“现代”的终端,体验之后发现,这个圈子已经卷成这样了:有的用 Zig 语言写核心,性能强到离谱;有的直接把 SFTP 和多光标编辑集成进去,运维起来像开了挂;还有的干脆把终端做成了 IDE,自带 AI 补全。

尤其是 Ghostty,最近因为被 Claude Code 团队背书火了一把。

下面我会用更“横评”的方式,把这四款工具放在同一套维度里讲清楚:Ghostty / WindTerm / kitty / Warp。

注意:不必要争论这些终端到底哪个最好用,工具而已,适合你的就是最好的!如果你非要争,那就是你是对的。

一、Ghostty:偏原生体验 + 性能的新一代终端

如果你在用 Claude Code 或者经常跑长输出,有时会遇到一个很烦的现象:输出一长,滚动体验开始变得不稳定(比如位置乱跳、回到很早的地方等)。经常清空终端、重启 Claude Code。

这个问题在 iTerm2 上存在一段时间了,社区里的解决方案五花八门,但都没根治。

有好心人推荐了 Ghostty, 试了一下,确实不错。

这也是 Claude Code 团队推荐的终端。

Ghostty 介绍

Ghostty 是由 Mitchell Hashimoto(HashiCorp 创始人)开发的,核心思路很简单:原生性能,拒绝 Electron。

Ghostty 和 iTerm2 的平台与渲染栈/实现方式如下:

  • iTerm2:macOS 原生(AppKit),渲染有多种实现(含 Metal 相关选项/路径)。
  • Ghostty:核心 Zig + 平台原生壳;macOS 用 Metal 路径,Linux 用 GTK + GPU 渲染路径。

Ghostty 用 Zig 语言编写。Zig 的核心优势是零成本抽象——编译后的二进制文件很小,运行速度很快。

对终端模拟器这种对性能敏感的工具来说,语言选择直接影响体验:处理每秒万行的日志输出时,字符渲染必须维持在显示器刷新率上限,否则用户会感知到卡顿。

Ghostty 是跨平台的(Windows 版本仍在推进中):

  • macOS:真正的 SwiftUI 应用,具备原生窗口、菜单栏、设置 GUI。
  • Linux:使用 GTK 构建。
  • 共享核心:Zig 编写的大型核心库,但平台层是原生的。

并且,Ghostty 支持大多数 kitty 扩展协议,如果你是 kitty 用户,迁移成本几乎为零。

项目地址:https://github.com/ghostty-org/ghostty 。

多渲染器架构和性能

Ghostty 采用多渲染器架构:Linux 使用 OpenGL,macOS 使用 Metal。

据 Ghostty 作者所说,除 iTerm 外,Ghostty 是唯一直接使用 Metal 的终端模拟器——而且是唯一支持连字的 Metal 渲染器(iTerm 启用连字时会切换到 CPU 渲染)。即使在高负载下也能保持 60fps 左右。

Ghostty 有专用的 I/O 线程,即使在高 I/O 负载下(如 cat <big file>.txt)也能保持低抖动。

在 I/O 基准测试中:

  • 读取纯文本转储的速度比 iTerm 和 kitty 快 4 倍
  • 比 Terminal.app 快 2 倍
  • 与 Alacritty 的速度相近

嵌入式终端库

Ghostty 也是一个 C 语言兼容的库 libghostty,可以将终端模拟器嵌入到任何第三方项目中。

目前推出的是 libghostty-vt,专注于解析终端序列和维护终端状态。API 已支持 Zig 和 C,兼容 macOS、Linux、Windows 和 WebAssembly。

macOS 应用本身就是一个 libghostty 的消费者——原生 Swift 应用使用 Xcode 开发,链接 libghostty 并通过 C API 渲染终端。

安装使用

macOS

brew install --cask ghostty

Ghostty 的配置是纯文本的,类似 zsh 和 vim,不用去图形界面”寻找”配置。配置文件在 ~/.config/ghostty/config:

# 主题(内置几百款,用 ghostty +list-themes 查看)
theme = iTerm2 Default

# 字体大小
font-size = 15

# 字体族
font-family = JetBrains Mono

# 窗口调整
resize-increment = 100

所有可配置项都在官网文档里列出来了,配置快捷键特别方便。

Linux

Linux 系统类型太多,安装种类也较多,建议参考官方文档中的描述:https://ghostty.org/docs/install/binary[#linux](javascript:;)-(official) 。

二、WindTerm:不是单纯终端模拟器

WindTerm 介绍

WindTerm 的定位不是”终端模拟器”,而是”SSH/Telnet/Serial/Shell/SFTP 客户端”。

如果你的工作里,打开终端更多意味着:连服务器、跳板机、传文件、开多个会话、甚至连串口设备——那 WindTerm 很可能比“纯终端模拟器”更适合你。

WindTerm 把很多 IDE 的功能搬到了终端里:

特性 说明
动态自动补全 不仅补全命令,还能感知当前路径的文件、Git 分支、历史输入
大纲视图 自动解析长输出(如 ls -l 或日志),生成可点击的导航大纲
多光标编辑 类似文本编辑器的多行同时编辑

这些功能在日常运维中很实用——特别是多光标编辑,改配置文件时不用退出终端。

Github 地址:https://github.com/kingToolbox/WindTerm (源码并未开源)。

运维友好

WindTerm 支持 SSHv2、Telnet、Raw TCP、Serial、Shell,也集成了 sftp/scp 与本地文件管理。

对很多人来说,这意味着你不必在“终端 + 独立 SFTP 工具 + 串口工具”之间来回切。

并且,WindTerm 里还有两个对运维特别实用的能力:

  • 同步输入:一个窗口输入,同时发到多个会话(批量操作服务器时很省时间)
  • 更系统化的历史/会话管理:命令历史、会话树、布局恢复等(做多环境排障时更舒服)

如果你经常在“十几个窗口来回切”中迷失,WindTerm 这种“面向会话管理”的设计会很对胃口。

安装使用

WindTerm 通过 GitHub releases 页面提供安装包下载,根据你的系统选择对应的安装包:

  • macOS:下载 .dmg 文件,拖拽到 Applications
  • Linux:下载 .AppImage 或解压包
  • Windows:下载 .exe 安装程序

地址:https://github.com/kingToolbox/WindTerm/releases 。

三、kitty:基于 GPU 加速的黑客定制终端

kitty 介绍

kitty 是老牌的 GPU 加速终端,用 C 语言编写,追求”快速、功能强大、高度可定制”。

不同于传统终端依赖 CPU 绘图,kitty 核心是一个由 C 语言 编写的专用 OpenGL 引擎。

  • 低负载、高帧率:它将渲染压力丢给 GPU,即使在滚动数万行日志时,CPU 占用率依然极低,且能跑满显示器刷新率(如 120Hz/144Hz)。
  • 彻底的异步架构:输入处理、渲染、IO 都在独立线程中运行。这意味着即便你在执行一个耗时极长的命令,终端界面(如分屏操作、配置切换)依然能保持丝滑响应,绝不冻结。

线程化设计也很彻底:输入处理、渲染、IO 都在独立线程运行,避免 UI 冻结。

kitty 内置了一套叫 “Kittens” 的小工具:

工具 功能说明 核心价值
icat 终端内直接显示高保真图片 运维时看图、数据科学绘图无需跳出控制台。
diff 侧边栏代码对比 极其快速,颜色分明,支持语法高亮。
unicode_input 模糊搜索输入 Unicode 解决 Fira Code 等字体中特殊符号的查找难题。
hints 屏幕内文本选择与跳转 按快捷键即可提取屏幕上的 URL、路径并直接打开。

kitty 支持通过 shell 命令实时更改配置、配色或打开新窗口。这在编写自动化脚本时很有用。

Github 地址:https://github.com/kovidgoyal/kitty 。

自研协议

这是 kitty 最牛的地方。它不满足于几十年前的 ANSI 标准,自研了两套协议,现在已被 Ghostty、WezTerm 等后起之秀广泛兼容:

  • Graphics Protocol (图形协议):摒弃了陈旧的 Sixel 协议,支持真彩、透明度、甚至动画,让终端显示图片质量接近原生图片查看器。
  • Extended Keyboard Protocol (扩展键盘协议):解决了传统终端无法区分 Tab 与 Ctrl+I 等按键组合的痛点,支持如 Ctrl+Enter 这种现代化的快捷键映射。

安装使用

macOS

最简单的方式是用官方安装脚本:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

kitty.app 会被安装到 /Applications。更新时重新运行命令即可。

Linux

同样用安装脚本:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

默认安装到 ~/.local/kitty.app。

如果想让 kitty 出现在任务栏和应用菜单中,需要设置桌面集成:

# 创建符号链接(将 kitty 和 kitten 加入 PATH)
ln -sf ~/.local/kitty.app/bin/kitty ~/.local/kitty.app/bin/kitten ~/.local/bin/

# 复制 desktop 文件
cp ~/.local/kitty.app/share/applications/kitty.desktop ~/.local/share/applications/
cp ~/.local/kitty.app/share/applications/kitty-open.desktop ~/.local/share/applications/

# 更新 desktop 文件中的路径
sed -i "s|Icon=kitty|Icon=$HOME/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" ~/.local/share/applications/kitty*.desktop
sed -i "s|Exec=kitty|Exec=$HOME/.local/kitty.app/bin/kitty|g" ~/.local/share/applications/kitty*.desktop

# 设置为默认终端
echo 'kitty.desktop' > ~/.config/xdg-terminals.list

高级选项

安装特定版本:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin \
installer=version-0.35.2

安装 nightly 版本:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin \
installer=nightly

安装后不启动:

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin \
launch=n

卸载

删除安装目录即可:macOS 上删除 /Applications/kitty.app,Linux 上删除 ~/.local/kitty.app。

四、Warp:AI 驱动的协作式”终端 2.0”

Warp 介绍

Warp 是一个完全由 Rust 重写的现代化终端。它彻底打破了传统终端几十年不变的“瀑布流字符”逻辑,将其改造为一个更像 IDE 的协作环境。

Github 地址:https://github.com/warpdotdev/Warp

维度 传统终端 (iterm2/Terminator) Warp
内容组织 连续长文本(难以分割) Blocks 块逻辑(可独立管理、分享)
输入方式 线性字符流(无法鼠标点选) IDE 模式(支持点选、撤销、多行)
AI 支持 无或依赖三方插件 原生内置(支持自然语言转命令)
团队协作 个人配置,无法共享 Warp Drive(云端共享工作流)

Block(块)设计

Warp 最具颠覆性的设计是将传统的终端连续长文本拆分为一个个独立的 Blocks(块)。

  • 独立操控:每一条命令及其对应的输出都被打包成一个“块”。你可以像操作 Excel 单元格一样,单独选中、搜索、折叠或删除某个特定命令的结果。
  • 零成本分享:你可以一键将某个报错的块生成永久链接分享给同事,对方打开就能看到完整的执行上下文和错误日志。这种“对象化”的思维极大地降低了团队协作中的沟通成本。

Warp AI

Warp 原生内置了 AI 助手,不再需要开发者在浏览器和终端之间来回切换:

  • 自然语言对话:支持通过自然语言直接搜索命令。例如,输入“找到并杀死占用 8080 端口的进程”,AI 会直接生成对应的 Shell 指令并填入输入框。
  • 智能调试:当命令报错时,点击旁边的 AI 图标,它会分析当前的错误栈信息,并给出具体的修复建议甚至修正后的命令。

Warp Drive

Warp Drive 相当于终端里的“云端工作区”。你可以将复杂的部署指令或环境初始化脚本存入云端,全组共享。

所有敏感信息(如密码或秘钥)在存储前都会被自动过滤,确保云端只保留命令逻辑而非敏感数据。

IDE 级的交互体验

Warp 彻底重构了终端的输入机制,使其拥有接近 VS Code 的编辑手感:

  • 现代化编辑器:输入框不再是传统的 TTY 字符流,而是支持鼠标点击定位、多光标编辑、选中撤销以及多行缩进。
  • 上下文感知补全:其补全引擎不仅快,而且能深度感知当前的 Kubernetes 上下文、Git 状态及 npm 依赖,提供极具针对性的预测建议。

安装使用

Warp 支持 macOS、Linux 和 Windows。

访问 Warp 下载页根据你的系统选择对应的安装包:

  • macOS:下载 .dmg 文件,拖拽到 Applications
  • Linux:下载 .AppImage 或 deb/rpm 包
  • Windows:下载 .exe 安装程序

地址:https://www.warp.dev/download 。

Warp 有免费版和 Pro 版,Pro 版提供更多 AI 功能和协作特性。

macOS 用户还可以使用下面的命令下载:

brew install --cask warp

五、选择建议:都挺不错,选择适合自己的

四款终端各有侧重,没有绝对的“最好”,只有在特定工作流下的“最顺手”。

为了方便直观对比,我把四款工具与 iTerm2 放在一起(偏“选型维度”,不做绝对排名):

维度 Ghostty WindTerm kitty Warp iTerm2
定位 性能/原生取向终端 运维工作台(会话/传文件/多协议) GPU 加速 + 高度可定制 IDE 化 + AI + 协作 macOS 稳定老牌
上手难度 低(但偏配置文件思维) 低(GUI 友好) 中(配置/生态很深) 低(现代 UI) 极低
长输出/高负载体感 通常很强(以版本/机器为准) 够用,强项不在这里 很强(高刷/滚动常见优势) 视具体场景而定(交互很现代) 稳定,但高负载场景可能不够“轻”
远程与会话 基础终端能力 强项(SSH/SFTP/会话树/同步输入) 需要你自己搭工作流 偏开发协作体验 基础能力 + 生态
协议/扩展生态 逐步成熟,兼容部分 kitty 生态 偏产品集成能力 生态深(协议/Kittens) 产品化能力强(AI/云/分享) 生态成熟
平台 macOS / Linux(Windows 推进中,以官方为准) 全平台(以发行包为准) macOS / Linux macOS / Linux / Windows 仅 macOS
AI 无 无 无 原生集成 插件/外部工具

你可以根据日常需求来选择:

  • 追求性能 + Claude Code 用户 → Ghostty

    • 解决 iTerm2 跑长日志时的掉帧
    • 完美适配台前调度等原生特性
  • 运维工程师 → WindTerm

    • 管理多台服务器
    • 内置 SFTP、历史命令大纲、多光标编辑
  • 极客/Linux 重度用户 → kitty

    • 终端显示高保真图片
    • 复杂自定义脚本、键盘快捷键
  • 新手/团队协作 → Warp

    • AI 命令搜索
    • Blocks 分享功能

还是纠结?再看看这个快速筛选:

  1. iTerm2 滚屏卡顿 → Ghostty
  2. 记不住 Shell 命令 → Warp
  3. 连服务器、改配置 → WindTerm
  4. 终端看图、高刷新率 → kitty

如果 iTerm2 用得挺舒服,也没遇到什么痛点——那也没必要强行换。工具是为人服务的,不是反过来。

文章目录
  1. 1. 一、Ghostty:偏原生体验 + 性能的新一代终端
    1. 1.1. Ghostty 介绍
    2. 1.2. 多渲染器架构和性能
    3. 1.3. 嵌入式终端库
    4. 1.4. 安装使用
      1. 1.4.1. macOS
      2. 1.4.2. Linux
  2. 2. 二、WindTerm:不是单纯终端模拟器
    1. 2.1. WindTerm 介绍
    2. 2.2. 运维友好
    3. 2.3. 安装使用
  3. 3. 三、kitty:基于 GPU 加速的黑客定制终端
    1. 3.1. kitty 介绍
    2. 3.2. 自研协议
    3. 3.3. 安装使用
      1. 3.3.1. macOS
      2. 3.3.2. Linux
      3. 3.3.3. 高级选项
      4. 3.3.4. 卸载
  4. 4. 四、Warp:AI 驱动的协作式”终端 2.0”
    1. 4.1. Warp 介绍
    2. 4.2. Block(块)设计
    3. 4.3. Warp AI
    4. 4.4. Warp Drive
    5. 4.5. IDE 级的交互体验
    6. 4.6. 安装使用
  5. 5. 五、选择建议:都挺不错,选择适合自己的