跳到主要内容
ansicode
终端

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)原子化帧更新,避免撕裂。
    支持

在此终端可用的序列

该终端能完整处理的转义序列对应的权威参考页。每条均链接到完整页面,含字节形式、规范出处与多语言示例。

细节与版本说明

在生产中使用某序列前应知晓的、该终端特有的注意事项。

不支持 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 进行应用内重映射。

参考资料

其他已有专页的终端