Erfahrungen mit WezTerm
Bevor es losgeht
- WezTerm muss installiert sein
- macOS-Nutzer können es mit Homebrew installieren (
$ brew install wezterm)
Erklärung zu Lua
- Die Konfiguration von WezTerm wird in Lua definiert
- Lua ist anderen dynamischen Programmiersprachen ähnlich und daher leicht zu lesen
- Für komplexe Konfigurationen empfiehlt es sich, Lua eingehender zu lernen
Konfigurationsdatei und Feedback-Loop
- Die Konfigurationsdatei befindet sich unter
$XDG_CONFIG_HOME/wezterm/wezterm.lua
- Änderungen an der Konfigurationsdatei werden automatisch neu geladen
- Logs können über das Debug-Overlay (
CTRL + SHIFT + L) eingesehen werden
Erscheinungsbild konfigurieren
Farbschema
- WezTerm bietet mehr als 1.000 Farbschemata
- Beispiel:
config.color_scheme = 'Tokyo Night'
Dynamische Farbschemata
- Es wird Beispielcode bereitgestellt, der bei jedem Öffnen eines neuen Fensters das Farbschema zufällig ändert
System-Erscheinungsbild berücksichtigen
- Das Farbschema wird je nach Erscheinungsmodus des Systems automatisch geändert
- Dafür wird nach dem Erstellen der Datei
appearance.lua eine Konfiguration vorgenommen
Schriftart konfigurieren
- Die Standardschriftart ist JetBrains Mono
- Beispiel:
config.font = wezterm.font({ family = 'Berkeley Mono' })
Fenster-Styling
- Transparenz und Blur für den Fensterhintergrund konfigurieren
- Beispiel:
config.window_background_opacity = 0.9
Statusleiste konfigurieren
- Rechts in der Tab-Leiste wird eine Statusleiste im Powerline-Stil hinzugefügt
- Dabei wird die Event-API von WezTerm verwendet
Tastenkonfiguration
Standard-Tastenzuordnungen
- Die Standard-Tastenzuordnungen können beibehalten oder deaktiviert werden (
config.disable_default_key_bindings = true)
Beispiele für Tastenzuordnungen
Option + Left Arrow und Option + Right Arrow werden der Navigation zwischen Wörtern zugeordnet
- Ein Shortcut zum Öffnen der Konfigurationsdatei wird eingerichtet (
CMD + ,)
Multiplexing-Funktionen
- Nutzung der Multiplexing-Funktionen von WezTerm
- Ein Shortcut zum Aufteilen von Fenstern wird eingerichtet (
CTRL + SHIFT + P)
Leader-Key konfigurieren
- Der Leader-Key wird auf
CTRL + A gesetzt
- Der Shortcut zum Aufteilen von Fenstern wird zusammen mit dem Leader-Key verwendet
Zwischen Fenstern wechseln
- Tastenzuordnungen für die Navigation zwischen Fenstern werden eingerichtet (mit vim-Richtungstasten)
Fenstergröße anpassen
- Eine Key-Table zum Anpassen der Fenstergröße wird eingerichtet
- Zusammen mit dem Leader-Key kann so die Fenstergröße angepasst werden
Projekt-Workspaces
Workspaces erstellen und wechseln
- Nach dem Erstellen der Datei
projects.lua wird eine Funktion zum Wechseln zwischen Projekten hinzugefügt
- Beim Auswählen eines Projekts wird ein neuer WezTerm-Workspace erstellt
Zusammenfassung von GN⁺
- WezTerm ermöglicht dank der flexiblen Konfiguration mit Lua umfangreiche Anpassungen
- Durch automatisches Neuladen und das Debug-Overlay lassen sich Konfigurationsänderungen leicht vornehmen
- Die Multiplexing-Funktionen und die Workspace-Verwaltung sind stark, und verschiedene Tastenzuordnungen können die Produktivität steigern
- Terminals mit ähnlichen Funktionen sind unter anderem Alacritty und kitty
1 Kommentare
Hacker-News-Kommentare
Ich bin vor Kurzem zu WezTerm gewechselt und sehr zufrieden. Zuvor habe ich kitty benutzt und mochte die Konfiguration und Einfachheit von iTerm2. WezTerm bietet von Haus aus deutlich bessere Funktionen. Meine Terminal-Konfiguration ist kurz genug, um komplett auf einen Editor-Bildschirm zu passen. Seitdem muss ich mich nicht mehr um das Terminal kümmern
WezTerm reagiert sehr schnell auf GitHub-Issues und behebt Probleme normalerweise innerhalb von ein oder zwei Tagen. Abgesehen von einem kleinen Problem mit Modifier-Tasten über SSH ist die Funktionalität nahezu perfekt. Schnell und gut
Beim Wechsel von Kubuntu zu Ubuntu wollte ich einige Funktionen von Konsole zurückhaben (unendlicher Scrollback, Suche im Scrollback), aber statt Konsole zu installieren, habe ich WezTerm installiert. WezTerm hat mir sofort gefallen, allerdings sind viele Funktionen nicht leicht zu entdecken. Die Dokumentation ist sehr gut, und der Autor ist sehr engagiert und hilfsbereit
Ich habe Mac Terminal, iTerm2, Kitty, Warp und andere ausprobiert, bin aber bei WezTerm geblieben. Es ist leicht zu konfigurieren, schnell und sieht gut aus. Ich habe sogar ein Theme erstellt
Was ist der Vorteil von WezTerm? WezTerm unterstützt vollständig mehrere Betriebssysteme und läuft unter Linux, macOS und Windows. Ich teile dieselbe Terminal-Konfiguration über mehrere Betriebssysteme hinweg
Ich nutze WezTerm seit ungefähr einem Jahr und unterstütze Wez auf GitHub. WezTerm ist ein großartiges Terminal, und der Entwickler ist ebenfalls großartig. Ich nutze häufig Fast Copy und andere Copy-Modi
Ich bleibe wegen der Funktion „Edit->Selection Respects Soft Boundaries“ bei iTerm2. Diese interpretiert Pipe-Zeichen | als Panel-Trenner, wodurch sich die Auswahl entsprechend umbricht
Ich stimme den anderen hier zu. Ich nutze macOS nun seit fast 10 Jahren und habe die ganze Zeit iTerm2 verwendet. In letzter Zeit ist es langsam geworden. Bei cmd-tab musste ich über eine Sekunde warten, bis das Terminal erschien
Wez wird ein Buch über Systemprogrammierung in Rust veröffentlichen
OT: Am meisten freue ich mich auf Ghostty, das vom HashiCorp-Gründer entwickelt wurde