WezTerm

WezTerm - a GPU-accelerated cross-platform terminal emulator

WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust.

Features #

  • Cross-platform - Works on Linux, macOS, and Windows
  • GPU-accelerated - Smooth rendering using OpenGL
  • Lua configuration - Powerful scripting with Lua
  • Built-in multiplexer - Tabs and panes without external tools
  • SSH client - Native SSH support with terminal features

Setup #

Install via package manager:

# Ubuntu/Debian
# Download .deb from GitHub releases

# Arch Linux
sudo pacman -S wezterm

# macOS
brew install --cask wezterm

# Windows
# Download from GitHub releases or use winget
winget install wez.wezterm

Configuration #

Config file: ~/.config/wezterm/wezterm.lua

Example configuration:

local wezterm = require 'wezterm'

return {
    font = wezterm.font 'JetBrains Mono',
    font_size = 12.0,
    color_scheme = 'Dracula',
    window_background_opacity = 0.95,
    enable_tab_bar = true,
    hide_tab_bar_if_only_one_tab = true,
}

Key Bindings #

Key Action
Ctrl+Shift+T New tab
Ctrl+Shift+W Close tab
Ctrl+Shift+Tab Next tab
Ctrl+Shift+Enter Split pane vertically
Ctrl+Shift+% Split pane horizontally
Ctrl+Shift+Arrow Move between panes
Ctrl+Shift+Space Quick select mode
Ctrl+Shift+F Search scrollback

Multiplexer Features #

WezTerm includes a built-in multiplexer that can replace tmux:

-- Enable multiplexing
config.leader = { key = 'a', mods = 'CTRL' }
config.keys = {
    { key = '|', mods = 'LEADER|SHIFT', action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } },
    { key = '-', mods = 'LEADER', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } },
}

See Also #