Retour d’expérience sur WezTerm
Avant de commencer
- Installation de WezTerm nécessaire
- Les utilisateurs de macOS peuvent l’installer avec Homebrew (
$ brew install wezterm)
À propos de Lua
- La configuration de WezTerm est définie en Lua
- Lua est similaire à d’autres langages de programmation dynamiques, donc facile à lire
- Pour des configurations complexes, il est recommandé d’apprendre Lua plus en profondeur
Fichier de configuration et boucle de feedback
- Le fichier de configuration se trouve à l’emplacement
$XDG_CONFIG_HOME/wezterm/wezterm.lua
- Le fichier de configuration est rechargé automatiquement en cas de modification
- Il est possible de consulter les logs via l’overlay de debug (
CTRL + SHIFT + L)
Réglages d’apparence
Thèmes de couleurs
- WezTerm propose plus de 1 000 thèmes de couleurs
- Exemple :
config.color_scheme = 'Tokyo Night'
Thèmes de couleurs dynamiques
- Un exemple de code est fourni pour changer aléatoirement de thème de couleurs à chaque ouverture d’une nouvelle fenêtre
Respect de l’apparence du système
- Le thème de couleurs change automatiquement selon le mode d’apparence du système
- Configuration après création du fichier
appearance.lua
Réglages de police
- La police par défaut est JetBrains Mono
- Exemple :
config.font = wezterm.font({ family = 'Berkeley Mono' })
Style de fenêtre
- Réglage de la transparence de l’arrière-plan et du flou de la fenêtre
- Exemple :
config.window_background_opacity = 0.9
Réglage de la barre d’état
- Ajout d’une barre d’état de style powerline à droite de la barre d’onglets
- Utilisation de l’API d’événements de WezTerm
Configuration des touches
Mappage de touches par défaut
- Il est possible de conserver ou de désactiver le mappage de touches par défaut (
config.disable_default_key_bindings = true)
Exemples de mappage de touches
- Mappage de
Option + Left Arrow et Option + Right Arrow pour se déplacer entre les mots
- Définition d’un raccourci pour ouvrir le fichier de configuration (
CMD + ,)
Fonction de multiplexage
- Utilisation de la fonction de multiplexage de WezTerm
- Définition d’un raccourci pour scinder la fenêtre (
CTRL + SHIFT + P)
Configuration de la touche leader
- La touche leader est définie sur
CTRL + A
- Le raccourci de division de fenêtre s’utilise avec la touche leader
Déplacement entre panneaux
- Définition d’un mappage de touches pour se déplacer entre les panneaux (avec les touches de direction vim)
Redimensionnement des panneaux
- Définition d’une table de touches pour redimensionner les panneaux
- Utilisation avec la touche leader pour redimensionner les panneaux
Espaces de travail de projet
Création et changement d’espace de travail
- Création du fichier
projects.lua, puis ajout d’une fonction de changement de projet
- Lors de la sélection d’un projet, un nouvel espace de travail WezTerm est créé
Résumé de GN⁺
- WezTerm permet une configuration flexible en Lua, ce qui autorise de nombreuses personnalisations
- Le rechargement automatique et l’overlay de debug facilitent les modifications de configuration
- Les fonctions de multiplexage et de gestion des espaces de travail sont excellentes, et divers mappages de touches permettent d’améliorer la productivité
- Parmi les terminaux offrant des fonctions similaires, on trouve Alacritty et kitty
1 commentaires
Avis sur Hacker News
J’ai récemment basculé sur WezTerm et j’en suis très satisfait. J’utilisais auparavant kitty et j’aimais la configuration et la simplicité d’iTerm2. WezTerm est bien meilleur en termes de fonctionnalités fournies par défaut. La configuration du terminal est suffisamment courte pour tenir entièrement sur un écran d’éditeur. Après ça, plus besoin de se soucier du terminal
WezTerm réagit très vite aux issues GitHub et corrige généralement les problèmes en un ou deux jours. À part un petit souci avec les touches modificatrices via SSH, c’est presque parfait côté fonctionnalités. C’est rapide et agréable à utiliser
En passant de Kubuntu à Ubuntu, je voulais retrouver certaines fonctionnalités de Konsole (scrollback infini, recherche dans le scrollback), mais comme je ne voulais pas installer Konsole, j’ai installé WezTerm. WezTerm m’a tout de suite plu, même si beaucoup de fonctionnalités ne sont pas faciles à découvrir. La documentation est très bonne, et l’auteur est très impliqué et serviable
J’ai essayé Mac Terminal, iTerm2, Kitty, Warp et d’autres, mais je me suis arrêté sur WezTerm. Il est facile à configurer, rapide et agréable à regarder. J’ai même créé un thème
Quel est l’avantage de WezTerm ? WezTerm est entièrement cross-OS, donc utilisable sur Linux, macOS et Windows. Je partage la configuration du terminal entre plusieurs OS
J’utilise WezTerm depuis environ un an et je soutiens Wez sur GitHub. WezTerm est un excellent terminal, et son développeur aussi. J’utilise souvent la copie rapide et les autres modes de copie
La raison pour laquelle je continue d’utiliser iTerm2, c’est la fonctionnalité « Edit->Selection Respects Soft Boundaries ». Elle interprète les caractères de barre verticale
|comme des séparateurs de panneau, et la sélection s’adapte en conséquenceJe suis d’accord avec les autres avis. Cela fait presque 10 ans que j’ai commencé à utiliser macOS, et j’utilisais iTerm2. Récemment, il a commencé à ralentir. Quand je faisais cmd-tab, je devais attendre plus d’une seconde avant que le terminal apparaisse
Wez va publier un livre sur la programmation système en Rust
HS : j’attends surtout Ghostty, créé par le fondateur de HashiCorp