Befehlszeile Fish Shell, beliebt bei Terminalanwendern, wurde auf Version 4.0 aktualisiert, die bedeutende Änderungen und Verbesserungen mit sich brachte.
Die wichtigste Neuerung besteht darin, dass Fish Shell jetzt vollständig in der Programmiersprache Rust neu geschrieben wurde. Für gewöhnliche Benutzer wird dieser Wechsel jedoch nahezu unbemerkt bleiben: Befehle, Einstellungen und typische Interaktionen bleiben unverändert.
Weitere bedeutende Änderungen
- Neues Tastaturbelegungssystem. Fish Shell 4.0 bietet ein aktualisiertes Tastaturbelegungssystem und eine tiefere Kompatibilität mit Terminalen. Nun können nicht-intuitive Esc-Sequenzen durch besser lesbare Befehle wie bind ctrl-right ersetzt werden. Dank der Unterstützung des Kitty-Tastaturprotokolls kann Fish Steuersequenzen unterscheiden, die zuvor identisch erschienen, wie bind ctrl-i, bind ctrl-I und bind tab.
- Integration mit Terminalfunktionalitäten. Fish nutzt jetzt automatisch die Sequenzen OSC 133 für Vorschläge und Befehlsausgaben, was eine reibungslosere Synchronisation mit verschiedenen Terminalen fördert, die zuvor auf zusätzliche Integrationsskripte angewiesen waren.
- Verbesserte Handhabung langer Befehle. Die Shell verarbeitet lange Befehlszeilen jetzt präziser, indem sie diese scrollt, anstatt sie fehlerhaft darzustellen. Änderungen, die durch Befehlszeilenbindungen verursacht werden, sind sofort sichtbar, was ein intuitiveres Benutzererlebnis gewährleistet.
- Befehlsverlauf. Der Befehlsverlaufspager, der erstmals in Fish 3.6 vorgestellt wurde, wurde überarbeitet. Jetzt kann die Glob-Syntax zur genaueren Filterung von Verlaufseinträgen verwendet werden, zum Beispiel ergibt die Suche nach * glob syntax — git*HEAD alles zurück, wo git und HEAD in genau dieser Reihenfolge vorhanden sind.
- Ein neues Standardthema. In der neuen Version wurde das Standardthema leicht geändert: Befehle werden jetzt in einer „normalen“ Terminalfarbe anstatt in dem schwer lesbaren „blau“ angezeigt. Bestehende Benutzer behalten ihre aktuellen Einstellungen, es sei denn, sie laden das Thema manuell über fish_config neu.
- Selbstinstallierende Builds. Die neue Funktion der selbstinstallierenden Builds könnte ein echter Durchbruch für Benutzer sein, die häufig über SSH arbeiten. Servern ohne administrative Privilegien. Nach der Kompilierung von Fish kann eine eigenständige Binärdatei gestartet werden, die alles Notwendige extrahiert – Funktionen, Handbuchseiten und sogar ein Web-Tool zur Konfiguration – in das Home-Verzeichnis.
- Ausschluss von Befehlen aus der Historie. Endlich gibt es die lang erwartete Funktion, die es ermöglicht, bestimmte Befehle aus der Historie auszuschließen. Durch die Definition der benutzerdefinierten Funktion fish_should_add_to_history kann genau festgelegt werden, welche Befehle gespeichert werden.
- Verbesserungen für das Scripting:
- string match unterstützt jetzt die Option —max-matches, die es ermöglicht, die Anzahl der verarbeiteten Übereinstimmungen zu begrenzen;
- for-Schleifen speichern keine lokalen Variablen mehr aus vorherigen Iterationen;
- set erhält die Option —no-event, um Änderungen von Variablenereignissen zu unterdrücken;
- time beginnt die Messung früher, indem es die Dauer aller Befehlsersetzungen vor deren Ausführung erfasst;
- complete —erase schaltet die Auto-Vervollständigung für die angegebenen Befehle vollständig aus.
Quelle: linux.org.ru
