# 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. ## Install Save as a script file and run: ## Quick Use ```bash # Install brew install --cask wezterm # macOS scoop install wezterm # Windows flatpak install org.wezfurlong.wezterm # Linux ``` Config `~/.wezterm.lua`: ```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. - **Repo**: https://github.com/wezterm/wezterm - **Stars**: 25K+ - **Language**: Rust - **License**: MIT ## 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 --- Source: https://tokrepo.com/en/workflows/290af8f3-3641-11f1-9bc6-00163e2b0d79 Author: Script Depot