终端
alacritty —— ANSI 转义码支持情况
alacritty 是一款 Rust 原生、GPU 加速的终端模拟器,它故意不提供任何 TUI 便利功能 —— 没有标签页、没有分屏、没有滚屏搜索、没有内置配置 UI。其设计理念是只做一件事并做到极致:以 GPU 能达到的最高速度渲染 VT100 + xterm-ctlseqs,其余功能交给 tmux / zellij。由 Joe Wilm 于 2017 年发布,现由 alacritty 贡献者社区维护。
ANSI 转义码方面,alacritty 实现了一个聚焦的 xterm-ctlseqs 子集:完整 SGR(24 位色、加粗、斜体、删除线)、完整光标 + 擦除 + 滚动、鼠标模式、括号粘贴、备用屏幕对。它不实现任何图像协议(Sixel、kitty 图形协议、OSC 1337)—— 这一类需求留给 tmux 透传或其他终端处理。
最近更新
特性支持情况
该终端在站点统一矩阵跟踪的 15 个特性上的表现。点击任意特性名可查看其在全部终端上的完整支持情况。
- 8 种基础色(30–37 / 40–47)SGR 30–37 前景,40–47 背景。支持
- 高亮(aixterm)色(90–97 / 100–107)aixterm SGR 扩展。支持
- 256 色调色板(38;5;n / 48;5;n)xterm 256 色扩展。支持
- 24 位真彩色(38;2;r;g;b)1670 万直接 RGB。设置 $COLORTERM=truecolor。支持
- 斜体(SGR 3)斜体文本属性。支持
- 扩展下划线(4:1–4:5)波浪/点/虚下划线样式。部分
- 删除线(SGR 9)文本中央的水平线。支持
- OSC 8 超链接内联可点击 URI。不支持
- 备用屏幕(?1049h)全屏应用缓冲区。支持
- 鼠标跟踪(SGR ?1006)鼠标点击/拖拽事件。支持
- 括号粘贴(?2004)粘贴文本被 ESC[200~/ESC[201~ 包裹。支持
- 焦点事件(?1004)获得焦点时 ESC[I,失去时 ESC[O。支持
- Sixel 图形DEC sixel 内联位图。不支持
- Kitty 图形协议PNG/RGB 内联图像和动画。不支持
- 同步输出(?2026)原子化帧更新,避免撕裂。支持
在此终端可用的序列
该终端能完整处理的转义序列对应的权威参考页。每条均链接到完整页面,含字节形式、规范出处与多语言示例。
- SGR 38;2;R;G;B — 24 位真彩色前景
\x1b[38;2;R;G;Bm直接指定 16,777,216 种 RGB 前景色之一。
- DECSET 1049 — 备用屏幕缓冲
\x1b[?1049h (enter) \x1b[?1049l (leave)切换到独立屏幕缓冲区(vim/less 启动时使用)。
- CUP — 设置光标位置
\x1b[row;colH将光标移动到绝对行/列(从 1 开始)。
- DECSET ?2004 — 括号粘贴模式
\x1b[?2004h (enable) \x1b[?2004l (disable)将粘贴文本用独立的转义标记包裹,让应用区分粘贴与键入。
- SGR 1 — 加粗 / 高亮
\x1b[1m将后续文本渲染为加粗(在某些终端上为高亮色)。
细节与版本说明
在生产中使用某序列前应知晓的、该终端特有的注意事项。
- 不支持 OSC 8 超链接(issue alacritty#922 已 wontfix 关闭)
- OSC 8 超链接支持被明确划在范围之外。在 alacritty 上发送 OSC 8 的程序会让 URL 以普通文本泄漏出来。lsd、eza、gh 都会通过 $TERM 或 DA1 响应检测 alacritty 并跳过 OSC 8。如需超链接渲染,可在 tmux 3.4+ 中运行 alacritty(tmux 会干净地剥除 OSC 8),或更换终端。
- 扩展下划线部分支持 —— 仅 4:3(波浪),无 4:4 / 4:5
- 自 alacritty 0.13(2024 年)起,渲染器支持 SGR 4:3(波浪下划线)以及 SGR 58:2;r;g;b 下划线着色,neovim 用其绘制诊断波浪线。SGR 4:4(点)与 4:5(虚)未实现 —— neovim 会降级为直线。因此 terminfo 条目 `alacritty` 仅声明 Smulx;通过 $TERM=alacritty 启用(Debian / Fedora 软件包内置该条目)。
- 同步输出(?2026)自 0.13 起支持
- DECSET ?2026h / ?2026l 原子帧模式在 alacritty 0.13(2023 年 12 月)落地。使用该协议的程序(tmux 3.4+、kitty 会话穿透、ratatui / textual UI)能避免全屏重绘时的可见撕裂。无需配置 —— 默认开启。
- 配置文件为 TOML:$XDG_CONFIG_HOME/alacritty/alacritty.toml
- alacritty 0.13 把配置格式从 YAML 切换到 TOML;旧的 `~/.config/alacritty/alacritty.yml` 会被静默忽略。没有实时编辑 UI —— 编辑保存文件,终端约 50 ms 后自动应用。没有 `bindings` 段意味着 $TERM=xterm-256color 的转义码键绑定不会生效;请在 TOML 中配置,或改用 kitty / wezterm 进行应用内重映射。