都2026年了,还在用Xshell?试试这几款现代化的终端工具吧!

今天和大家聊聊几个近两年热度很高的"现代终端"。

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

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

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

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

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

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

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

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

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

这也是 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 用户,迁移成本几乎为零。

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

多渲染器架构和性能

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

css 复制代码
brew install --cask ghostty

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

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

# 字体大小
font-size = 15

# 字体族
font-family = JetBrains Mono

# 窗口调整
resize-increment = 100

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

Linux

Linux 系统类型太多,安装种类也较多,建议参考官方文档中的描述:ghostty.org/docs/instal...

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

WindTerm 介绍

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

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

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

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

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

Github 地址:**github.com/kingToolbox...

运维友好

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

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

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

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

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

安装使用

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

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

地址:**github.com/kingToolbox...

三、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 地址:**github.com/kovidgoyal/...

自研协议

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

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

安装使用

macOS

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

bash 复制代码
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

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

Linux

同样用安装脚本:

bash 复制代码
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

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

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

bash 复制代码
# 创建符号链接(将 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

高级选项

安装特定版本:

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

安装 nightly 版本:

arduino 复制代码
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin \
    installer=nightly

安装后不启动:

arduino 复制代码
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 地址:github.com/warpdotdev/...

维度 传统终端 (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 安装程序

地址:**www.warp.dev/download** ...

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

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

css 复制代码
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 用得挺舒服,也没遇到什么痛点------那也没必要强行换。工具是为人服务的,不是反过来。

相关推荐
understandme1 小时前
记录 redis 端口的坑,高并发请求常见的问题分类
后端
折七1 小时前
2026 年 Node.js 后端技术选型,为什么我选了 Hono 而不是 NestJS
前端·后端·node.js
Loo国昌2 小时前
【AI应用开发实战】09_Prompt工程与模板管理:构建可演进的LLM交互层
大数据·人工智能·后端·python·自然语言处理·prompt
Java后端的Ai之路3 小时前
【JDK】-JDK 17 新特性整理(比较全)
java·开发语言·后端·jdk17
沛沛rh453 小时前
Rust 中的三个“写手“:print!、format!、write! 的详细区别
开发语言·后端·rust
Loo国昌3 小时前
【AI应用开发实战】06_向量存储与EmbeddingProvider设计
人工智能·后端·python·语言模型·自然语言处理·prompt
白衣鸽子4 小时前
Java 线程同步-04:lock 机制
后端
加洛斯4 小时前
RabbitMQ入门篇(1):初识MQ
java·后端