WezTerm — GPU-Accelerated Terminal Emulator and Multiplexer
WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust. Configured entirely in Lua with built-in tabs, splits, SSH multiplexing, image display, and a rich set of terminal features.
Agent 可直接安装
这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。
npx -y tokrepo@latest install 290af8f3-3641-11f1-9bc6-00163e2b0d79 --target codex先 dry-run 确认安装计划,再运行此命令。
What it is
WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust. It is configured entirely in Lua, providing programmable control over appearance, keybindings, and behavior. Built-in features include tabs, splits, SSH multiplexing, image display (iTerm2 and Kitty protocols), ligature support, and a rich set of escape sequences.
This tool is for developers and power users who want a fast, highly configurable terminal that replaces both a terminal emulator and a multiplexer like tmux.
How it saves time or tokens
WezTerm combines the terminal emulator and multiplexer into one application, eliminating the need to run tmux or screen inside another terminal. Lua configuration allows dynamic behavior: change themes based on time of day, adjust fonts per SSH host, or create custom status bars. GPU acceleration means scrolling through large log files stays smooth.
How to use
- Download WezTerm for your platform.
- Create a
~/.wezterm.luaconfiguration file. - Customize keybindings, appearance, and behavior in Lua.
- Use built-in multiplexer features instead of tmux.
# Install on macOS
brew install --cask wezterm
# Install on Linux
flatpak install flathub org.wezfurlong.wezterm
Example
A ~/.wezterm.lua configuration:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
-- Appearance
config.color_scheme = 'Catppuccin Mocha'
config.font = wezterm.font('JetBrains Mono', { weight = 'Medium' })
config.font_size = 14.0
config.window_background_opacity = 0.95
-- Tab bar
config.use_fancy_tab_bar = false
config.tab_bar_at_bottom = true
-- Key bindings for splits
config.keys = {
{ key = 'd', mods = 'CMD', action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } },
{ key = 'd', mods = 'CMD|SHIFT', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } },
}
return config
Related on TokRepo
- Automation tools — Terminal and workflow automation
- DevOps tools — Tools for terminal-based workflows
Common pitfalls
- Lua configuration has a learning curve if you are used to TOML or YAML config files. The flexibility comes at the cost of verbosity.
- GPU acceleration requires compatible graphics drivers. Some older systems or VM environments may fall back to software rendering.
- WezTerm's built-in multiplexer is not a drop-in replacement for tmux. Session persistence across reboots requires WezTerm's mux server.
- Image display protocols vary. Not all terminal applications support the same image protocols that WezTerm implements.
- WezTerm's binary size is larger than minimal terminals like Alacritty due to the built-in multiplexer and Lua runtime.
- Review the official documentation before deploying to production to ensure compatibility with your specific environment and requirements.
常见问题
Both are GPU-accelerated terminals written in Rust. WezTerm includes a built-in multiplexer (tabs, splits, sessions), Lua scripting, image display, and ligature support. Alacritty is minimal and relies on tmux for multiplexing.
For many workflows, yes. WezTerm has built-in tabs, splits, and session management. However, tmux offers features like session sharing between terminals and more mature session persistence. Some users run both.
Yes. WezTerm supports font ligatures out of the box. Fonts like Fira Code and JetBrains Mono render their ligatures correctly without additional configuration.
Yes. WezTerm supports the iTerm2 and Kitty image protocols. Tools like imgcat and timg can display images inline in the terminal.
Yes. WezTerm runs on macOS, Linux, Windows, and FreeBSD. The same Lua configuration file works across all platforms with minor adjustments for OS-specific paths.
引用来源 (3)
- WezTerm GitHub— WezTerm is a GPU-accelerated terminal written in Rust
- WezTerm Documentation— WezTerm configuration and features
- WezTerm Multiplexing Docs— Terminal multiplexer concepts and architecture
讨论
相关资产
Alacritty — Cross-Platform GPU-Accelerated Terminal Emulator
Alacritty is a cross-platform, GPU-accelerated terminal emulator written in Rust. Focuses on simplicity and performance — no tabs, no splits, just the fastest terminal rendering on the planet. Configuration via TOML file, works on macOS, Linux, Windows, and BSD.
kitty — The Fast, Feature-Rich Terminal with GPU Rendering and Image Protocol
kitty is a feature-rich GPU-accelerated terminal with tabs, splits, SSH integration, and its own terminal graphics protocol used by tools like icat and MPV. It combines the speed of Alacritty with the features of iTerm2.
Rio — Hardware-Accelerated GPU Terminal Emulator in Rust
Rio is a modern terminal emulator written in Rust that uses GPU rendering via WGPU for fast, consistent output across desktop and browser environments.
Windows Terminal — The Modern Terminal for Windows by Microsoft
A GPU-accelerated terminal application for Windows that supports tabs, panes, Unicode, UTF-8, custom themes, and multiple shell profiles including PowerShell, CMD, and WSL.