{"id":567685,"date":"2025-11-11T12:02:10","date_gmt":"2025-11-11T12:02:10","guid":{"rendered":"https:\/\/www.europesays.com\/de\/567685\/"},"modified":"2025-11-11T12:02:10","modified_gmt":"2025-11-11T12:02:10","slug":"fish-4-2-0-mehrzeilige-befehle-und-utf-8-als-standard","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/de\/567685\/","title":{"rendered":"fish 4.2.0: Mehrzeilige Befehle und UTF-8 als Standard"},"content":{"rendered":"<ol class=\"a-toc__list\">\n<li class=\"a-toc__item&#10;          &#10;            a-toc__item--counter&#10;          &#10;            a-toc__item--current\">\n<p>              fish 4.2.0: Mehrzeilige Befehle und UTF-8 als Standard<\/p>\n<\/li>\n<\/ol>\n<p>Die Entwickler der Shell fish haben Version 4.2.0 ver\u00f6ffentlicht. Zu den wichtigsten Neuerungen z\u00e4hlen mehrzeilige Befehle in der verlaufsbasierten Autovervollst\u00e4ndigung sowie grundlegende \u00c4nderungen bei der Zeichenkodierung.<\/p>\n<p>        Weiterlesen nach der Anzeige<\/p>\n<p>Die Autovervollst\u00e4ndigung auf Basis der Befehlshistorie schl\u00e4gt nun auch mehrzeilige Kommandos vor \u2013 eine Funktion, die bei komplexeren Shell-Skripten oder verschachtelten Befehlen f\u00fcr viele Nutzer im Alltag praktisch ist. Zudem wurden Probleme beim L\u00f6schen mehrzeiliger transienter Prompts behoben: Wenn ein solcher Prompt mehr Zeilen umfasst als der finale Prompt, wird er jetzt korrekt entfernt.<\/p>\n<p>Ein weiteres praktisches Feature betrifft die Terminal-Konfiguration: Anwender k\u00f6nnen jetzt den Titel des Terminal-Tabs getrennt vom Fenstertitel setzen, indem sie die Funktion fish_tab_title definieren \u2013 gut f\u00fcr den \u00dcberblick. Bei sehr langen Kommandozeilen blendet fish au\u00dferdem den Teil des mehrzeiligen Prompts aus, der aufgrund der Bildlaufposition nicht mehr sichtbar ist. Das verhindert doppelte Zeilen nach dem Neuzeichnen.<\/p>\n<p>UTF-8 jetzt vorausgesetzt<\/p>\n<p>Eine grundlegende \u00c4nderung betrifft die Zeichenkodierung: fish geht jetzt immer von UTF-8 aus, selbst wenn das System kein UTF-8-Locale konfiguriert hat. Eingabebytes, die kein g\u00fcltiges UTF-8 darstellen, werden weiterhin korrekt verarbeitet \u2013 Dateipfade mit veralteten Kodierungen lassen sich also nach wie vor verwenden, werden aber m\u00f6glicherweise anders auf der Kommandozeile dargestellt. Auf Systemen ohne Multi-Byte-Locale verzichtet fish k\u00fcnftig auf ASCII-Ersatzzeichen f\u00fcr Unicode-Symbole wie das Auslassungszeichen.<\/p>\n<p>Die Mausbedienung wurde flexibler: fish deaktiviert nicht mehr zwangsweise die Mauserfassung (DECSET\/DECRST 1000), sodass Nutzer per Mausklick den Cursor bewegen oder Vervollst\u00e4ndigungsvorschl\u00e4ge ausw\u00e4hlen k\u00f6nnen. Die Tastenkombination alt-p f\u00fcgt zudem kein \u00fcberfl\u00fcssiges Leerzeichen mehr zur Kommandozeile hinzu.<\/p>\n<p>Standalone-Build nun Standard<\/p>\n<p>        Weiterlesen nach der Anzeige<\/p>\n<p>F\u00fcr Distributoren und Entwickler ist relevant, dass der Standalone-Build-Modus jetzt standardm\u00e4\u00dfig aktiv ist. Die Dateien in $CMAKE_INSTALL_PREFIX\/share\/fish werden k\u00fcnftig nicht mehr verwendet \u2013 mit Ausnahme der HTML-Dokumentation. Dadurch brechen k\u00fcnftige Updates laufende Shells nicht mehr ab, wenn sich interne Hilfsfunktionen ge\u00e4ndert haben. Die Datendateien werden vorerst redundant installiert, um bereits laufende Shells zu sch\u00fctzen. Die minimale unterst\u00fctzte Rust-Version wurde auf 1.85 ge\u00e4ndert.<\/p>\n<p>Release-Tags und Quellcode-Archive sind nun wieder GPG-signiert. Die Dokumentation in den Release-Paketen wird jetzt mit der aktuellen Sphinx-Version erstellt, wodurch die vorgenerierten Man-Pages OSC-8-Hyperlinks enthalten. Die Sphinx-Abh\u00e4ngigkeit ist jetzt in pyproject.toml spezifiziert, wodurch Nutzer uv f\u00fcr den Dokumentations-Build einsetzen k\u00f6nnen.<\/p>\n<p>Plattform-spezifische Verbesserungen<\/p>\n<p>Unter macOS setzt fish als Login-Shell die Variable MANPATH nun korrekt, wenn diese bereits in der Umgebung vorhanden war. Ein Windows-spezifisches Problem, bei dem die webbasierte Konfiguration nicht startete, wurde ebenfalls behoben. F\u00fcr MSYS2 gibt es einen Workaround f\u00fcr Konsole und WezTerm, der verhindert, dass diese das falsche Arbeitsverzeichnis beim \u00d6ffnen neuer Tabs verwenden.<\/p>\n<p>Im Rahmen der <a href=\"https:\/\/www.heise.de\/news\/Rust-Kommandozeilen-Shell-fish-4-0-unterstuetzt-erweiterte-Tastaturprotokolle-10299675.html\" rel=\"external noopener\" target=\"_blank\">Version 4.0<\/a>, die im Februar 2025 erschien, hatten die fish-Entwickler den Kerncode von C++ nach Rust portiert. Release 4.2.0 behebt mehrere Regressionen aus den Vorg\u00e4ngerversionen 4.0.0 und 4.1.0, darunter Probleme mit der webbasierten Konfiguration unter Python 3.9, falsche Terminal-Modi bei bestimmten Kommandos und Fehler beim Speichern universeller Variablen unter MSYS2. Auch VTE-basierte Terminals zeigen beim \u00c4ndern der Fenstergr\u00f6\u00dfe wieder das korrekte Verhalten.<\/p>\n<p>Schlie\u00dflich wurden auch die \u00dcbersetzungen erweitert: Neben den bereits vorhandenen Sprachen ist nun Chinesisch (Taiwan) mit an Bord, zudem wurden die franz\u00f6sischen \u00dcbersetzungen erg\u00e4nzt. Die <a href=\"https:\/\/github.com\/fish-shell\/fish-shell\/releases\/tag\/4.2.0\" rel=\"external noopener\" target=\"_blank\">Release Notes<\/a> auf GitHub listen alle \u00c4nderungen detailliert auf. F\u00fcr Linux stehen Standalone-Binaries f\u00fcr verschiedene CPU-Architekturen bereit, macOS-Pakete k\u00f6nnen \u00fcber Homebrew bezogen werden. Windows-10- und -11-Nutzer m\u00fcssen das Windows Subsystem for Linux (WSL) heranziehen, dar\u00fcber hinaus l\u00e4sst sich fish mit Cygwin und MSYS2 verwenden.<\/p>\n<p>(<a class=\"redakteurskuerzel__link\" href=\"https:\/\/www.heise.de\/news\/mailto:fo@heise.de\" title=\"Moritz F\u00f6rster\" target=\"_blank\" rel=\"noopener\">fo<\/a>)<\/p>\n<p>\n      Dieser Link ist leider nicht mehr g\u00fcltig.\n    <\/p>\n<p>Links zu verschenkten Artikeln werden ung\u00fcltig,<br \/>\n      wenn diese \u00e4lter als 7\u00a0Tage sind oder zu oft aufgerufen wurden.\n    <\/p>\n<p><strong>Sie ben\u00f6tigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen \u2013 ohne Verpflichtung!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"fish 4.2.0: Mehrzeilige Befehle und UTF-8 als Standard Die Entwickler der Shell fish haben Version 4.2.0 ver\u00f6ffentlicht. Zu&hellip;\n","protected":false},"author":2,"featured_media":567686,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[29,136886,30,196,136887,17699,1277,24469,190,189,194,191,26355,202,193,192],"class_list":{"0":"post-567685","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wissenschaft-technik","8":"tag-deutschland","9":"tag-fish","10":"tag-germany","11":"tag-it","12":"tag-kommandozeile","13":"tag-linux","14":"tag-macos","15":"tag-open-source","16":"tag-science","17":"tag-science-technology","18":"tag-technik","19":"tag-technology","20":"tag-terminal","21":"tag-windows","22":"tag-wissenschaft","23":"tag-wissenschaft-technik"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@de\/115530966368576119","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/567685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/comments?post=567685"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/567685\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media\/567686"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media?parent=567685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/categories?post=567685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/tags?post=567685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}