Experiência usando o WezTerm
Antes de começar
- É necessário instalar o WezTerm
- Usuários de macOS podem instalar com Homebrew (
$ brew install wezterm)
Explicação sobre Lua
- A configuração do WezTerm é definida em Lua
- Lua é semelhante a outras linguagens de programação dinâmicas, então é fácil de ler
- Para configurações complexas, vale a pena aprender Lua mais a fundo
Arquivo de configuração e loop de feedback
- O arquivo de configuração fica em
$XDG_CONFIG_HOME/wezterm/wezterm.lua
- Ao alterar o arquivo de configuração, ele é recarregado automaticamente
- É possível verificar os logs pelo overlay de depuração (
CTRL + SHIFT + L)
Configuração da aparência
Tema de cores
- O WezTerm oferece mais de 1.000 temas de cores
- Exemplo:
config.color_scheme = 'Tokyo Night'
Tema de cores dinâmico
- É fornecido um exemplo de código que muda aleatoriamente o tema de cores cada vez que uma nova janela é aberta
Respeitar a aparência do sistema
- O tema de cores muda automaticamente de acordo com o modo de aparência do sistema
- Configure isso após criar o arquivo
appearance.lua
Configuração de fonte
- A fonte padrão é JetBrains Mono
- Exemplo:
config.font = wezterm.font({ family = 'Berkeley Mono' })
Estilização da janela
- Configuração de transparência do fundo e blur da janela
- Exemplo:
config.window_background_opacity = 0.9
Configuração da barra de status
- Adiciona uma barra de status no estilo powerline à direita da barra de abas
- Usa a API de eventos do WezTerm
Configuração de teclas
Mapeamento de teclas padrão
- É possível manter ou desativar os mapeamentos de teclas padrão (
config.disable_default_key_bindings = true)
Exemplos de mapeamento de teclas
- Mapeia
Option + Left Arrow e Option + Right Arrow para navegação entre palavras
- Define um atalho para abrir o arquivo de configuração (
CMD + ,)
Recurso de multiplexação
- Usa o recurso de multiplexação do WezTerm
- Define um atalho para dividir a janela (
CTRL + SHIFT + P)
Configuração da tecla líder
- Define a tecla líder como
CTRL + A
- Usa o atalho de divisão de janela junto com a tecla líder
Movimentação entre painéis
- Define mapeamentos de tecla para mover entre painéis (usando as teclas de direção do vim)
Redimensionamento de painéis
- Define uma tabela de teclas para redimensionar painéis
- Usa junto com a tecla líder para redimensionar os painéis
Espaços de trabalho de projeto
Criar e alternar espaços de trabalho
- Após criar o arquivo
projects.lua, adicione uma função para alternar entre projetos
- Ao selecionar um projeto, um novo espaço de trabalho do WezTerm é criado
Resumo do GN⁺
- O WezTerm permite configurações flexíveis com Lua, possibilitando ampla personalização
- O recarregamento automático e o overlay de depuração facilitam alterações na configuração
- Os recursos de multiplexação e gerenciamento de espaços de trabalho são excelentes, e vários mapeamentos de tecla podem aumentar a produtividade
- Terminais com recursos semelhantes incluem Alacritty e kitty
1 comentários
Comentários no Hacker News
Mudei recentemente para o WezTerm e estou muito satisfeito. Antes usava o kitty e gostava das configurações e da simplicidade do iTerm2. O WezTerm oferece recursos muito melhores por padrão. A configuração do terminal é curta o bastante para caber toda na tela do editor. Depois disso, não precisei mais me preocupar com o terminal
O WezTerm responde muito rapidamente às issues no GitHub e normalmente resolve os problemas em um ou dois dias. Tirando um pequeno problema com teclas modificadoras via SSH, ele é quase perfeito em recursos. É rápido e muito bom
Ao trocar do Kubuntu para o Ubuntu, eu queria alguns recursos do Konsole (scrollback infinito, busca no scrollback), mas instalei o WezTerm para não precisar instalar o Konsole. Gostei do WezTerm imediatamente, embora muitos recursos não sejam fáceis de descobrir. A documentação é muito boa, e o autor é muito participativo e prestativo
Testei Mac Terminal, iTerm2, Kitty, Warp e outros, mas acabei ficando com o WezTerm. É fácil de configurar, rápido e bonito. Até criei um tema
Qual é a grande vantagem do WezTerm? Ele é totalmente cross-platform, então pode ser usado em Linux, macOS e Windows. Eu compartilho a configuração do terminal entre vários sistemas operacionais
Uso o WezTerm há cerca de um ano e apoio o Wez no GitHub. O WezTerm é um terminal excelente, e o desenvolvedor também é excelente. Uso com frequência a cópia rápida e outros modos de cópia
O motivo de eu continuar usando o iTerm2 é o recurso "Edit->Selection Respects Soft Boundaries". Esse recurso interpreta o caractere pipe
|como separador de painel, então a seleção se ajusta a issoConcordo com a opinião dos outros usuários. Já faz quase 10 anos que comecei a usar macOS e venho usando o iTerm2. Recentemente ele começou a ficar lento. Ao fazer cmd-tab, eu tinha que esperar mais de 1 segundo para o terminal aparecer
O Wez vai publicar um livro sobre programação de sistemas em Rust
OT: Estou mais animado com o Ghostty, criado pelo fundador da HashiCorp