What WezTerm Does
- GPU rendering — OpenGL/Metal
- Tabs and splits — built-in multiplexer
- SSH multiplexer — multiplex over SSH without tmux
- Lua config — full programming language for config
- Image display — Sixel, iTerm2, Kitty protocols
- Ligatures — font ligature support
- Workspaces — multiple workspace layouts
- Mouse — selection, scrollback, hyperlinks
- Scrollback search — regex search in scrollback
- Multiplexing domains — local, SSH, TLS, Unix socket
Architecture
Rust binary with Lua interpreter (mlua) for configuration. Rendering via wgpu (WebGPU abstraction layer). Terminal state machine handles VT parsing. Built-in multiplexer replaces tmux for many use cases.
Comparison
| Terminal | Config | Multiplexer | Image |
|---|---|---|---|
| WezTerm | Lua | Built-in | Multiple |
| Alacritty | TOML | No | No |
| Ghostty | INI-like | Built-in | Kitty |
| Kitty | kitty.conf | kitten | Own |
| iTerm2 | GUI | Built-in | Own |
常见问题 FAQ
Q: WezTerm vs Alacritty? A: WezTerm 功能更多(内置 tab/split/SSH mux/图片显示/Lua 配置),Alacritty 更极简更快。如果不想用 tmux,WezTerm 是更好的独立方案。
Q: Lua 配置难吗? A: 不难。基础配置就是设属性(如上例)。高级用法可以用 Lua 写动态状态栏、根据时间切主题、自动连接 SSH 等。
Q: SSH 多路复用? A: WezTerm 可以通过单个 SSH 连接打开多个远程 pane/tab,不需要远程装 tmux。配置一个 SSH domain 即可。
来源与致谢 Sources
- Docs: https://wezterm.org/docs
- GitHub: https://github.com/wezterm/wezterm
- License: MIT