Kitty Terminal Banner

Kitty:用 GPU 渲染的终端,快得不像传统终端

你有没有在终端里做过这种事——

cat 一个几十 MB 的日志文件,然后看着屏幕一行一行往下刷,滚动的时候还一卡一卡的。

或者想在终端里直接看一张图片,结果还得专门打开图片查看器。

又或者开了一堆 tmux 窗口,分屏分得自己都找不到哪个是哪个。

这些问题的答案,可能不是一个你用了十年的老终端,而是一个叫 Kitty 的新面孔。


Kitty 为什么不一样

Kitty 最核心的区别就一句话:它的渲染走 GPU,不走 CPU

传统终端(GNOME Terminal、Konsole、xterm)的文字渲染全部由 CPU 完成。这在 80 列文字的年代完全够用,但现在终端里跑的是 tail -fdocker logscat application.log——输出量动辄几万行。CPU 渲染一帧文字,每到一个新行就要重新计算字形、合成位图,然后推给显示器。数据量一大,帧率就崩了。

Kitty 把整个渲染管线搬到了 GPU 上,通过 OpenGL 完成。结果就是:滚动百万行日志和滚动一百行的体验没有区别——都是丝般顺滑。

而且 GPU 渲染的附带好处是:字体渲染在任何字号下都保持清晰,连字(ligature)显示完美,Emoji 也不会糊成一团。


Kitty 是谁做的

作者是 Kovid Goyal——没错,就是那个做 Calibre 电子书管理器的 Kovid Goyal。

一个人写了两款被广泛使用的开源软件,而且质量都极高。这大概就是「天才程序员」的定义吧。

Kitty 用 C 和 Python 混合编写,核心渲染层用 C 保证性能,插件系统(叫「Kittens」)用 Python 编写方便扩展。

GitHub 上搜 kovidgoyal/kitty,Star 数 26k+,非常活跃。


那些让人回不去的功能

直接在终端看图

icat 这个内建 kitten,你可以在终端里直接显示图片:

Bash
kitty +kitten icat photo.jpg

支持 PNG、JPEG、GIF,甚至动态 GIF也能在终端里放。

这意味着什么?你可以在终端里看图表、截图、甚至表情包,不用切出命令行。

内建分屏和标签页,不用 tmux

Kitty 自己有完善的分屏系统,支持多种布局:

  • Stack(堆叠)— 同一区域只显示一个窗口,切换 Tab
  • Tall(左主右辅)— 左边主窗口,右边窄栏
  • Fat(上主下辅)— 和 Tall 相反
  • Grid(网格)— 均匀排列

快捷键是 Ctrl+Shift 组合,和 Shell 快捷键不冲突——Ctrl+C 还是 SIGINT,Ctrl+R 还是反向搜索。

操作 快捷键
新标签页 Ctrl+Shift+T
关闭标签页 Ctrl+Shift+Q
横向分屏 Ctrl+Shift+Enter
纵向分屏 Ctrl+Shift+E
切换窗口 Ctrl+Shift+]

浏览器用户会对这套快捷键很熟悉——就是浏览器的 Ctrl+T/Ctrl+W 加了个 Shift。

Kittens:Kitty 的插件系统

Kitty 的扩展叫「Kitten」(小猫),用 Python 写。内建了不少实用的:

  • icat — 在终端显示图片
  • diff — 终端内的文件差异对比(比 git diff 友好多了)
  • ssh — 增强版 SSH 客户端,保留 Kitty 的所有渲染能力
  • hints — 快速选中屏幕上的 URL 或文件路径
  • clipboard — 剪贴板操作

也可以自己写 kitten,十几行 Python 就能搞定一个小工具。

远程控制

Kitty 支持 IPC 控制——你可以从脚本里告诉 Kitty 新建标签页、改字体大小、获取滚动缓冲区内容。

比如给 Kitty 发一条命令:

Bash
kitty @ new-window --title "htop" htop

这在自动化工作流里非常实用。

会话管理

Kitty 支持 session 文件,可以定义启动时要打开哪些窗口、分屏布局、每个窗口执行什么命令。

一个示例 session 文件:

Bash
# ~/.config/kitty/session.conf
new_tab backend
launch cd ~/project/backend && nvim
launch cd ~/project/backend && npm run dev

new_tab monitor
layout tall
launch htop
launch cd ~/project/logs && tail -f app.log

保存后在启动时加载:

Bash
kitty --session ~/.config/kitty/session.conf

这样你的开发环境一键恢复,不用每次手动开窗口。


在 Ubuntu 上安装

方法一:APT 安装(最简单,版本可能旧一点)

Bash
sudo apt update
sudo apt install kitty

装完就能在应用菜单里找到 Kitty 了。

方法二:官方脚本安装(推荐,获取最新版本)

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

这个脚本会把 Kitty 安装到 ~/.local/kitty.app/,然后创建软链接。

创建桌面图标

如果方法二装完后应用菜单里没出现 Kitty,手动创建一下:

Bash
# 创建桌面文件
~/.local/kitty.app/bin/kitty +runpy "
from kitty.fast_data_types import *
import sys
"
# 或者直接用下面的命令
sudo ln -s ~/.local/kitty.app/share/applications/kitty.desktop /usr/share/applications/
sudo ln -s ~/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png /usr/share/icons/

启动

直接在终端输入 kitty,或者在应用菜单里搜索 Kitty 启动。


基础配置

Kitty 的配置文件在 ~/.config/kitty/kitty.conf。如果不存在,自己创建就行。

一份给新手的推荐配置:

Bash
# ~/.config/kitty/kitty.conf

# 字体
font_family      JetBrains Mono
font_size        12

# 光标样式
cursor_shape     beam
cursor_blink_interval 0

# 滚动缓冲区行数
scrollback_lines 10000

# 关掉烦人的蜂鸣
enable_audio_bell no

# Tab 栏样式
tab_bar_style    powerline
tab_powerline_style slanted

# 背景透明度 0.95(需要窗口管理器支持)
background_opacity 0.95

# Shell 集成
shell_integration enabled

配置完不用重启 Kitty——它支持热加载,保存文件后配置立即生效。


和同类 GPU 终端对比

特性 Kitty Alacritty WezTerm Ghostty
渲染引擎 OpenGL OpenGL/Vulkan OpenGL OpenGL/Metal
分屏 ✅ 内建 ❌ 需 tmux ✅ 内建 ✅ 内建
图片显示 ✅ icat ✅ 协议
插件系统 ✅ Kittens (Python) ✅ Lua ✅ 内建
配置文件 纯文本 YAML Lua 自定义格式
Session 管理
跨平台 Linux/macOS Linux/macOS/Windows 全平台 Linux/macOS

如果你就想要一个「纯快」的终端,Alacritty 可能更适合你,它比 Kitty 还轻量。

但如果你想要的是一台「能看图、能分屏、能写插件、能远程控制」的终端,Kitty 的功能丰富度目前没有对手。


总结

Kitty 是我用过的终端里,「性能和功能平衡得最好」的一个。

它没有 Alacritty 那么极简,但多了图片显示、内建分屏、Kitten 插件系统这些真正能提升效率的东西。它没有 Terminator 那么笨重,但在 GPU 的加持下,滚动百万行日志都如丝般顺滑。

如果你还在用 Ubuntu 自带的 GNOME Terminal,或者觉得 tmux 分屏太麻烦,花十分钟装上 Kitty 试试——也许这就是你一直在找的那个终端。

最后修改: 2026年7月6日

作者

评论

发表评论

您的邮箱地址不会被公开。