Experiencia usando WezTerm
Antes de empezar
- Es necesario instalar WezTerm
- Los usuarios de macOS pueden instalarlo con Homebrew (
$ brew install wezterm)
Explicación sobre Lua
- La configuración de WezTerm se define con Lua
- Lua es similar a otros lenguajes de programación dinámicos, por lo que es fácil de leer
- Para configuraciones complejas, conviene aprender Lua más a fondo
Archivo de configuración y bucle de retroalimentación
- El archivo de configuración se encuentra en
$XDG_CONFIG_HOME/wezterm/wezterm.lua
- Al cambiar el archivo de configuración, se recarga automáticamente
- Se pueden revisar los logs con la superposición de depuración (
CTRL + SHIFT + L)
Configuración de apariencia
Tema de colores
- WezTerm ofrece más de 1,000 temas de colores
- Ejemplo:
config.color_scheme = 'Tokyo Night'
Tema de colores dinámico
- Se proporciona código de ejemplo para cambiar aleatoriamente el tema de colores cada vez que se abre una nueva ventana
Respetar la apariencia del sistema
- El tema de colores cambia automáticamente según el modo de apariencia del sistema
- Se configura creando el archivo
appearance.lua
Configuración de fuente
- La fuente predeterminada es JetBrains Mono
- Ejemplo:
config.font = wezterm.font({ family = 'Berkeley Mono' })
Estilo de ventana
- Configuración de transparencia del fondo y desenfoque de la ventana
- Ejemplo:
config.window_background_opacity = 0.9
Configuración de la barra de estado
- Agrega una barra de estado estilo powerline al lado derecho de la barra de pestañas
- Usa la API de eventos de WezTerm
Configuración de teclas
Asignaciones de teclas predeterminadas
- Se pueden mantener o desactivar las asignaciones predeterminadas (
config.disable_default_key_bindings = true)
Ejemplos de asignación de teclas
- Asigna
Option + Left Arrow y Option + Right Arrow para moverse entre palabras
- Configura un atajo para abrir el archivo de configuración (
CMD + ,)
Función de multiplexación
- Usa la función de multiplexación de WezTerm
- Configura un atajo para dividir ventanas (
CTRL + SHIFT + P)
Configuración de tecla líder
- Configura la tecla líder como
CTRL + A
- Usa el atajo de división de ventanas junto con la tecla líder
Moverse entre paneles
- Configura asignaciones de teclas para moverse entre paneles (usando las teclas de dirección de vim)
Ajustar el tamaño de los paneles
- Configura una tabla de teclas para ajustar el tamaño de los paneles
- Se usa junto con la tecla líder para redimensionar paneles
Espacios de trabajo de proyectos
Crear y cambiar espacios de trabajo
- Crea el archivo
projects.lua y agrega una función para cambiar de proyecto
- Al seleccionar un proyecto, se crea un nuevo espacio de trabajo de WezTerm
Resumen de GN⁺
- WezTerm permite una configuración flexible con Lua, lo que habilita una gran variedad de personalizaciones
- Gracias a la recarga automática y la superposición de depuración, es fácil ajustar la configuración
- Sus funciones de multiplexación y gestión de espacios de trabajo son sobresalientes, y las distintas asignaciones de teclas pueden mejorar la productividad
- Terminales con funciones similares incluyen Alacritty y kitty
1 comentarios
Opiniones en Hacker News
Me cambié recientemente a WezTerm y estoy muy satisfecho. Antes usaba kitty, y me gustaban la configuración y la simplicidad de iTerm2. WezTerm ofrece de entrada muchas más funciones. La configuración del terminal es tan corta que cabe completa en la pantalla del editor. Desde entonces ya no he tenido que preocuparme por el terminal
WezTerm responde muy rápido a los issues de GitHub y normalmente resuelve los problemas en uno o dos días. Salvo un pequeño problema con las teclas modifier a través de SSH, la funcionalidad es casi perfecta. Es rápido y está muy bien
Al cambiar de Kubuntu a Ubuntu, extrañaba algunas funciones de Konsole (scrollback infinito, búsqueda en el scrollback), pero instalé WezTerm para evitar instalar Konsole. WezTerm me gustó de inmediato, aunque muchas funciones no son fáciles de descubrir. La documentación es muy buena y el autor participa mucho y ayuda bastante
Probé Mac Terminal, iTerm2, Kitty, Warp y otros, pero me quedé con WezTerm. Es fácil de configurar, rápido y se ve bien. Incluso hice un tema
¿Cuál es la ventaja de WezTerm? Que es totalmente cross-platform, así que puedo usarlo en Linux, macOS y Windows. Comparto la configuración del terminal entre varios sistemas operativos
Llevo usando WezTerm alrededor de un año y además apoyo a Wez en GitHub. WezTerm es un terminal excelente y el desarrollador también lo es. Uso mucho la copia rápida y otros modos de copia
La razón por la que sigo usando iTerm2 es la función "Edit->Selection Respects Soft Boundaries". Esa función interpreta el carácter de tubería | como separador de paneles, así que la selección se ajusta en consecuencia
Coincido con la opinión de otros usuarios. Llevo casi 10 años usando macOS y durante todo ese tiempo he usado iTerm2. Últimamente empezó a volverse lento. Al hacer cmd-tab tenía que esperar más de 1 segundo para que apareciera el terminal
Wez va a publicar un libro sobre programación de sistemas con Rust
OT: lo que más espero es Ghostty, creado por el fundador de HashiCorp