ScriptsApr 12, 2026·1 min read

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.

SC
Script Depot · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

# Install
brew install --cask wezterm                 # macOS
scoop install wezterm                       # Windows
flatpak install org.wezfurlong.wezterm      # Linux

Config ~/.wezterm.lua:

local wezterm = require("wezterm")
local config = wezterm.config_builder()

config.font = wezterm.font("JetBrainsMono Nerd Font")
config.font_size = 14
config.color_scheme = "Catppuccin Mocha"
config.window_background_opacity = 0.95
config.enable_tab_bar = true
config.hide_tab_bar_if_only_one_tab = true
config.window_decorations = "RESIZE"
config.default_prog = { "/bin/zsh", "-l" }

-- Custom keybindings
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
Intro

WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust by Wez Furlong. Configured entirely in Lua, WezTerm provides built-in tabs, splits, SSH multiplexing, sixel/iTerm2 image display, and a comprehensive set of terminal features. Combines the performance of Alacritty with the feature set of iTerm2.

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets