WezTerm — terminal y multiplexor configurable con Lua
WezTerm es un emulador de terminal y multiplexor escrito en Rust. Dibuja con la GPU, trae pestañas, paneles y ventanas sin depender de tmux, y se configura con un archivo Lua que se recarga al guardarlo. La misma configuración funciona en los tres sistemas operativos.
Como con cualquier terminal, WezTerm solo muestra la sesión: los comandos los ejecuta el shell (PowerShell, bash, zsh, fish…).
Qué trae
Sección titulada «Qué trae»| Área | Detalle |
|---|---|
| Multiplexor | Pestañas, paneles divididos y ventanas con atajos configurables; sesiones locales y remotas con scroll y ratón nativos |
| Dominios | Conexión a multiplexores por socket Unix o SSH/TLS sobre TCP, además de dominios WSL en Windows |
| Cliente SSH | wezterm ssh usuario@host abre la sesión remota en pestañas nativas |
| Puerto serie | Conexión a placas embebidas o Arduino (wezterm serial) |
| Texto | Ligaduras, emoji a color, fuentes de respaldo, true color y esquemas de color dinámicos |
| Imágenes | Protocolo de imágenes de iTerm2, protocolo gráfico de Kitty y Sixel (experimental) |
| Búsqueda | Scrollback con búsqueda (Ctrl+Shift+F) y modo copia |
| Enlaces | Hipervínculos en la salida y reglas propias para convertir texto en enlaces |
| Configuración | Archivo Lua con recarga en caliente |
Instalación
Sección titulada «Instalación»# Windowswinget install wez.wezterm# o: scoop bucket add extras; scoop install wezterm# o: choco install wezterm -y# macOS (Homebrew)brew install --cask wezterm# versión nightlybrew install --cask wezterm@nightly
# Linux: Flatpakflatpak install flathub org.wezfurlong.wezterm
# Debian/Ubuntu: repositorio APT oficialcurl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpgecho 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.listsudo chmod 644 /usr/share/keyrings/wezterm-fury.gpgsudo apt update && sudo apt install weztermTambién hay AppImage, paquetes .deb/.rpm, MacPorts y compilación desde código. La página de instalación enlaza cada sistema. Flatpak corre en un sandbox, así que algunas funciones (acceso a binarios del sistema, por ejemplo) pueden comportarse distinto.
Configuración con Lua
Sección titulada «Configuración con Lua»WezTerm busca ~/.wezterm.lua (o $XDG_CONFIG_HOME/wezterm/wezterm.lua). El archivo devuelve una tabla de configuración:
-- ~/.wezterm.lualocal wezterm = require 'wezterm'local config = wezterm.config_builder()
config.font = wezterm.font 'JetBrains Mono'config.font_size = 13config.color_scheme = 'Tokyo Night'config.hide_tab_bar_if_only_one_tab = trueconfig.window_decorations = 'RESIZE'
-- En Windows, abrir PowerShell 7 por defectoif wezterm.target_triple:find('windows') then config.default_prog = { 'pwsh.exe', '-NoLogo' }end
-- Tecla líder al estilo tmux: Ctrl+A y luego otra teclaconfig.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 }config.keys = { { key = '|', mods = 'LEADER|SHIFT', action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } }, { key = '-', mods = 'LEADER', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } }, { key = 'h', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Left' }, { key = 'l', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Right' },}
return configconfig_builder()avisa de claves mal escritas en lugar de ignorarlas.- Al guardar, WezTerm recarga la configuración; si hay un error de Lua lo muestra en una ventana sin cerrar la sesión.
wezterm.on(...)permite reaccionar a eventos (formatear el título de la pestaña, la barra de estado, etc.).
Multiplexor y dominios
Sección titulada «Multiplexor y dominios»Un dominio es un lugar donde viven pestañas y paneles. El local es el predeterminado; se pueden declarar otros:
config.unix_domains = { { name = 'unix' } }config.ssh_domains = { { name = 'servidor', remote_address = 'mi-servidor.example.com', username = 'deploy' },}wezterm connect unix # se conecta al multiplexor local; las pestañas sobreviven al cerrar la GUIwezterm connect servidor # abre un multiplexor en el host remoto por SSHCon un dominio de multiplexor, cerrar la ventana no mata los procesos: vuelves a conectar y siguen ahí, parecido a tmux pero con la interfaz de WezTerm.
CLI útil
Sección titulada «CLI útil»wezterm ls-fonts --list-system # fuentes que ve WezTermwezterm show-keys --lua # atajos activos, en formato Luawezterm cli split-pane --right # dividir el panel actual desde un scriptwezterm cli list # listar ventanas, pestañas y paneleswezterm imgcat foto.png # mostrar una imagen en la terminalwezterm cli habla con la instancia en ejecución, así que un script (o un agente) puede abrir paneles y enviarles texto con wezterm cli send-text.
Cuándo elegirlo
Sección titulada «Cuándo elegirlo»- quieres la misma terminal y los mismos atajos en Windows, macOS y Linux;
- prefieres configurar con código versionable en lugar de menús;
- necesitas paneles y sesiones persistentes sin instalar tmux (especialmente en Windows);
- trabajas con imágenes en terminal o con agentes que se benefician de
Shift+Enterdistinto deEnter.
Si buscas ayudas de IA integradas y bloques de comandos, Warp va en esa dirección. Si lo que necesitas es vigilar muchos agentes a la vez, Herdr funciona dentro de WezTerm.