Alternative Terminal-Programme
Zur Eingabe von Befehlen und der Arbeit mit textorientierten Programmen in der Kommandozeile gibt es für grafische Oberflächen verschiedene Terminal-Programme. Auf drei Windows-Exemplare möchte ich hier zur Dokumentation eingehen.
Randbemerkung: Die Tastenkombination Umschalt+Steuerung+_ benötige ich zum Aufruf eines Plugins in neovim.
Die folgenden Konfigurationen verwenden unter Windows mit WSL2 installierte Distributionen. Um deren GUID zu ermitteln, kann die Startmenü-Verknüpfung Auskunft geben.
Alacritty
https://alacritty.org Version 0.16.1
Eigenschaften: Plattformübergreifend, OpenGL-Nutzung, eingeschränkte Funktionsmenge
[font]
normal = { family = "CaskaydiaCove Nerd Font" }
[terminal]
shell = { program = "wsl", args = ["--distribution-id", "{f4c2ee93-0e15-4882-94ad-3e0d485b8a41}", "--cd", "~"] }
[keyboard]
bindings = [
{ key = "_", mods = "Control|Shift", action = "ReceiveChar" },
]
# Campbell (Windows 10 default) https://github.com/alacritty/alacritty-theme/
# Default colors
[colors.primary]
background = '#0c0c0c'
foreground = '#cccccc'
# Normal colors
[colors.normal]
black = '#0c0c0c'
red = '#c50f1f'
green = '#13a10e'
yellow = '#c19c00'
blue = '#0037da'
magenta = '#881798'
cyan = '#3a96dd'
white = '#cccccc'
# Bright colors
[colors.bright]
black = '#767676'
red = '#e74856'
green = '#16c60c'
yellow = '#f9f1a5'
blue = '#3b78ff'
magenta = '#b4009e'
cyan = '#61d6d6'
white = '#f2f2f2'WezTerm
https://wezterm.org/ Version 20240203-110809-5046fc22
Eigenschaften: plattformübergreifend, viele Funktionen
-- Pull in the wezterm API
local wezterm = require 'wezterm'
-- This will hold the configuration.
local config = wezterm.config_builder()
config.window_decorations = "RESIZE"
-- config.color_scheme = 'AdventureTime'
config.color_scheme = 'Campbell (Gogh)'
config.font = wezterm.font "CaskaydiaCove Nerd Font"
config.default_prog = {
'wsl', "--distribution-id", "{f4c2ee93-0e15-4882-94ad-3e0d485b8a41}", "--cd", "~"
}
config.keys = {
{
key = '_',
mods = 'CTRL',
action = wezterm.action.DisableDefaultAssignment,
},
{
key = '_',
mods = 'CTRL|SHIFT',
action = wezterm.action.DisableDefaultAssignment,
},
}
-- Finally, return the configuration to wezterm:
return configMicrosoft Terminal
https://learn.microsoft.com/windows/terminal/ Version 1.23.20211.0
Eigenschaften: von Microsoft
Linux-Tastenkombinationen finden
Für eine Erweiterung verwende ich Steuerung+Umschalt+_ als Tastenkombination. Deshalb ist sie oben besonders definiert, um nicht vom Terminalprogramm selbst interpretiert zu werden.
Für Alacritty hat das unter Linux so nicht funktioniert. Mit folgendem Befehl kann aber die Byte-Sequenz sichtbar gemacht werden:
showkey -a
Die Ausgabe sieht so aus:
^_ 31 0037 0x1f
Alternativ funktioniert auch
cat | xxd
Dabei wird dieses angezeigt:
^_00000000: 1f0a ..
Die Konfiguration für Alacritty ändert sich entsprechend ab:
[keyboard]
bindings = [
{ key = "_", mods = "Shift|Control", chars = "\u001f" },
]