跳到主要内容
ansicode
终端

WezTerm —— ANSI 转义码支持情况

WezTerm 是一款由 Wez Furlong 自 2018 年起以 Rust 开发的跨平台、GPU 加速终端模拟器兼复用器。与 alacritty 不同,WezTerm 在二进制内置完整的 TUI 功能:标签页、分屏、工作区、SSH 复用,乃至串口模式 —— 全部通过 Lua 配置文件(`~/.wezterm.lua`)驱动,该文件返回一个配置表并在保存时自动热加载。

ANSI 转义码兼容性方面,WezTerm 是当今功能最完整的终端之一:完整 xterm-ctlseqs SGR、完整 OSC 8 超链接、完整 SGR 4:1–4:5 扩展下划线,以及同时支持三种图像协议(DEC Sixel、kitty 图形协议、iTerm2 OSC 1337 内联图像)—— 任何采用上述协议的终端程序都能直接运行。

最近更新

特性支持情况

该终端在站点统一矩阵跟踪的 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)原子化帧更新,避免撕裂。
    支持

在此终端可用的序列

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

细节与版本说明

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

Lua 配置返回 table —— 无 GUI 设置面板
WezTerm 的配置是位于 `~/.wezterm.lua`(或 `$XDG_CONFIG_HOME/wezterm/wezterm.lua`)的 Lua 模块,需返回一个 config 表。保存后自动热加载(无需重启)。由于是真正的 Lua,你可以基于主机名、操作系统或环境变量分支配置 —— `if os.getenv('FOO') then config.colors = ... end`。WezTerm 没有设置对话框;如有 GUI 需求,可通过 `wezterm.gui.gui_window()` API 自行用 Lua 编写。
同时支持三种图像协议
WezTerm 同时渲染 DEC Sixel(DCS q ... ST)、kitty 图形协议(APC G ... ST)以及 iTerm2 OSC 1337 内联图像。任何使用上述三种协议之一的程序(chafa、kitten icat、imgcat、fzf 预览插件)都可直接运行,无需翻译层。DA1 应答中声明 sixel(`4`);kitty / iTerm2 协议则通过 kitty 图形查询(`APC Gi=1;a=q\x1b\\`)或 `$TERM_PROGRAM=WezTerm` 进行检测。
内置 SSH 复用器保留 OSC 8 与真彩色
`wezterm ssh user@host` 与 `wezterm connect <name>` 使用 WezTerm 自有 mux 协议(而非传统 ssh)—— 击键与转义序列双向直通,避免了普通 ssh 在远端强制 `$TERM=xterm-256color` 带来的降级。OSC 8 超链接、kitty 图形与 24 位色都能完整保留。可在 `wezterm.lua` 的 `ssh_domains` / `unix_domains` 中配置远端。
同步输出(?2026)自 20220624 起支持
DECSET ?2026h / ?2026l 原子帧模式在 WezTerm 20220624-141144-bd1b7c5d 中落地。使用该协议的程序(tmux 3.4+、开启 `vim.opt.termsync = true` 的 neovim、ratatui / textual)能在全屏重绘时避免可见撕裂。无需配置 —— 默认开启。可通过 DECRQM 查询 `CSI ? 2026 $ p` 检测当前模式。

参考资料

其他已有专页的终端