Příkazový shell Fish Shell, oblíbený mezi uživateli terminálů, se aktualizoval na verzi 4.0, která přinesla významné změny a vylepšení.
Hlavní novinkou je, že Fish Shell je nyní kompletně přepsán v programovacím jazyce Rust. Pro běžné uživatele však bude tento přechod prakticky neviditelný: příkazy, nastavení a typické interakce zůstanou stejné.
Další významné změny
- Nový systém vazby kláves. Fish Shell 4.0 představuje aktualizovaný systém vazby kláves a lepší kompatibilitu s terminály. Nyní je možné nahradit neintuitivní sekvence esc srozumitelnějšími příkazy, jako je bind ctrl-right. Díky podpoře klávesového protokolu Kitty může Fish rozlišovat ovládací sekvence, které se dříve zdály identické, například bind ctrl-i, bind ctrl-I a bind tab.
- Integrace s funkcemi terminálu. Fish nyní automaticky používá sekvence OSC 133 pro nápovědy a výstupy příkazů, což podporuje hladší synchronizaci s různými terminály, které se dříve spoléhali na dodatečné skripty pro integraci shellu.
- Vylepšené zpracování dlouhých příkazů. Shell nyní pečlivěji zpracovává dlouhé příkazové řádky, rolováním namísto nesprávného zobrazení. Jakékoliv změny vyvolané vazbami příkazového řádku jsou okamžitě viditelné, což poskytuje intuitivnější uživatelský zážitek.
- Historie příkazů. Pager historie příkazů, poprvé představený ve Fish 3.6, byl vylepšen. Nyní můžete používat syntaxi glob pro přesnější filtrování záznamů historie, například hledání pomocí * glob syntax — git*HEAD vrátí vše, kde je git a HEAD přesně v tomto pořadí.
- Nová výchozí téma. V nové verzi bylo mírně změněno výchozí téma: příkazy se nyní zobrazují v 'běžné' barvě terminálu místo těžko čitelné 'modré'. Stávající uživatelé si uchovají svá aktuální nastavení, pokud téma ručně neobnoví přes fish_config.
- Samoinstalační balíčky. Nová funkce samoinstalačních balíčků by mohla být skutečným průlomem pro uživatele, kteří často pracují přes SSH na serverech bez administrativních privilegií. Po zkompilování Fish lze spustit jeden samostatný binární soubor, který extrahuje vše potřebné — funkce, stránky příručky a dokonce i nástroj pro webové nastavení — do domovského adresáře.
- Vyloučení příkazů z historie. Nakonec je k dispozici dlouho očekávaná funkce, která umožňuje vyloučit určité příkazy z historie. Definováním uživatelské funkce fish_should_add_to_history lze přesně určit, které příkazy budou uloženy.
- Zlepšení pro skriptování:
- string match nyní podporuje možnost —max-matches, která umožňuje omezit počet zpracovávaných shod;
- cykly for již nebudou pamatovat místní proměnné z předchozí iterace;
- set získává možnost —no-event pro potlačení událostí změny proměnných;
- time začíná měření dříve, zachycující dobu trvání jakýchkoli substitucí příkazů před jejich provedením;
- complete —erase zcela deaktivuje automatické dokončování pro zadané příkazy.
Zdroj: linux.org.ru
