Software-update: fish 4.3.1

Fish logo

Versie 4.3.0 van fish is uitgekomen en wegens een fout is meteen ook een opvolger verschenen. Fish, wat staat voor 'friendly interactive shell', is een Unix-shell met een focus op interactiviteit en gebruikersvriendelijkheid. Het kan bijvoorbeeld worden gebruikt als vervanger van Bash. Downloads zijn beschikbaar voor macOS, Linux, BSD en onder Windows is het ook in de Windows Subsystem for Linux te gebruiken. De changelog voor deze uitgave kan hieronder worden gevonden.

fish 4.3.1

Deprecations and removed features
  • Possible crash after expanding an abbreviation (#12223).

fish 4.3.1

Deprecations and removed features
  • fish no longer sets universal variables by default, which simplifies configuration. Specifically, the fish_color_*, fish_pager_color_* and fish_key_bindings variables are now set in the global scope by default. After upgrading to 4.3.0, fish will (once and never again) migrate these universals to globals set at startup in the ~/.config/fish/conf.d/fish_frozen_theme.fish and ~/.config/fish/conf.d/fish_frozen_key_bindings.fish files. We suggest that you delete those files and set your theme in ~/.config/fish/config.fish.
    • You can still configure fish to propagate theme changes instantly; see here for an example.
    • You can still opt into storing color variables in the universal scope via fish_config theme save though unlike fish_config theme choose, that does not support dynamic theme switching based on the terminal’s color theme (see below).
  • In addition to setting the variables which are explicitly defined in the given theme, fish_config theme choose now clears only color variables that were set by earlier invocations of a fish_config theme choose command (which is how fish’s default theme is set).
Scripting improvements
  • New status language command allows showing and modifying language settings for fish messages without having to modify environment variables.
  • When using a noninteractive fish instance to compute completions, commandline --cursor works as expected instead of throwing an error (#11993).
  • fish_trace can now be set to all to also trace execution of key bindings, event handlers as well as prompt and title functions.
Interactive improvements
  • When typing immediately after starting fish, the first prompt is now rendered correctly.
  • Completion accuracy was improved for file paths containing = or : (#5363).
  • Prefix-matching completions are now shown even if they don’t match the case typed by the user (#7944).
  • On Cygwin/MSYS, command name completion will favor the non-exe name (foo) unless the user started typing the extension.
  • When using the exe name (foo.exe), fish will use to the description and completions for foo if there are none for foo.exe.
  • Autosuggestions now also show soft-wrapped portions (#12045).
New or improved bindings
  • ctrl-w (backward-kill-path-component) also deletes escaped spaces (#2016).
  • New special input functions backward-path-component, forward-path-component and kill-path-component (#12127).
Improved terminal support
  • Themes can now be made color-theme-aware by including both [light] and [dark] sections in the theme file. Some default themes have been made color-theme-aware, meaning they dynamically adjust as your terminal’s background color switches between light and dark colors (#11580).
  • The working directory is now reported on every fresh prompt (via OSC 7), fixing scenarios where a child process (like ssh) left behind a stale working directory (#12191).
  • OSC 133 prompt markers now also mark the prompt end, which improves shell integration with terminals like iTerm2 (#11837).
  • Operating-system-specific key bindings are now decided based on the terminal’s host OS.
  • Focus reporting is enabled unconditionally, not just inside tmux. To use it, define functions that handle the fish_focus_in or fish_focus_out events.
  • New feature flag omit-term-workarounds can be turned on to prevent fish from trying to work around some incompatible terminals.
For distributors and developers
  • Tarballs no longer contain prebuilt documentation, so building and installing documentation requires Sphinx. To avoid users accidentally losing docs, the BUILD_DOCS and INSTALL_DOCS configuration options have been replaced with a new WITH_DOCS option.
  • fish_key_reader and fish_indent are now installed as hardlinks to fish, to save some space.
Regression fixes:
  • (from 4.1.0) Crash on incorrectly-set color variables (#12078).
  • (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial lowercase mapping.
  • (from 4.2.0) Incorrect emoji width computation on macOS.
  • (from 4.2.0) Mouse clicks and ctrl-l edge cases in multiline command lines (#12121).
  • (from 4.2.0) Completions for Git remote names on some non-glibc systems.
  • (from 4.2.0) Expansion of ~$USER.

fish-shell

Versienummer 4.3.1
Releasestatus Final
Besturingssystemen Linux, BSD, macOS, Windows 10, Windows 11
Website Fish
Download https://fishshell.com
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

28-12-2025 • 21:00

16

Bron: Fish

Update-historie

07-01 fish 4.3.3 21
31-12 fish 4.3.2 0
28-12 fish 4.3.1 16
10-11 fish 4.2.0 0
28-09 fish 4.1.0 12
12-09 fish 4.0.6 3
21-04 fish 4.0.2 0
03-'25 fish 4.0.1 4
03-'25 fish 4.0.0 9
Meer historie

Reacties (16)

Sorteer op:

Weergave:

Het is dat bash zo'n standaard shell is maar fish is écht gebruiksvriendelijker dan bash in veel opzichten. Juist ook voor mensen die minder ervaring hebben met de command line.
Dat is wel een oppervlakkig statement dat je maakt. Misschien kun je toelichten waarom dat zo is?
Fish heeft autocomplete functies waardoor het werk een heel stuk aangenamer maakt. Ik heb ook docker en kubernetes autocompletions ervoor. Hoef hierdoor geen k9s te gebruiken bijvoorbeeld voor Kubernetes.
Dit zijn mogelijkheden die het voor mij persoonlijk de CLI een stuk fijner maken.
En fish onthoudt geschiedenis, ook heerlijk.
Elke shell heeft een history, je kunt dit bekijken door de "history" commando, of je kunt zoeken in history. je kunt ook terugkijken door bijvoorbeeld ctrl+r te gebruiken. Dit werkt ook zo in andere shells (bash, zsh, etc.)

In fish werkt dit echter velen malen fijner vind ik, ingebouwde fuzzy search etc. maakt het in mijn ogen gewoon een stuk fijner.
Klopt, elke shell heeft dat, maar fish onthoudt effectief wat ik in het verleden heb ingevoerd en vult dat automatisch aan. Hij onthoudt het zelfs per map.
Of je opent in gedit/kate/vscode/sublime/whatever je bestandje ".bash_history"(of vervang bash met je shell, doorgaans doen ze allemaal hetzelfde)
of juist voor mensen die véél ervaring (van het mindere type) hebben met de 'command line' en iets aangenamers wensen. Fish on GhostBSD gebruiker hier.
Als je emacs of vi in de vingers heb, kun je echt heel veel wat bash geweldig maakt.
in emacs mode is de leercurve even doorbijten, maar daarna wil je nooit meer wat anders.
Fish is primair voor interactief gebruik, dus gebruik dat ook lekker. Voor shells scripts die niet interactief gebruikt worden, of die je moet delen met anderen gebruik je gewoon een 'normale' universele shell as bash.

Ik gebruik al jaren fish als mijn primaire shell en heb tientallen functies geschreven die mijn leven makkelijker maken, maar een shell script wat ik niet met de hand gebruik schrijf ik altijd in bash.
Overigens kan ik https://starship.rs/ aanraden voor een mooie prompt in combinatie met fish (of een andere shell naar keuze)
Zelf heb ik heel lang met Bash gewerkt, dat vond ik prima. Sinds een jaar overgegaan naar ZSH en bijhorende modules en ik vind het echt wel beter en efficiënter werken. Vaak hoef ik maar 1 of 2 letters in te tikken en het commando dat ik heel vaak uitvoer staat compleet in scherm om met 1 druk op de knop gereed te zetten om uit te voeren. Ook kleurcoderingen als rood voor een commando dat ik intik dat niet bestaat. Nog veel meer.

Fish heeft volgens mij gelijksoortige functies. Het heeft mij wel geholpen om de verandering van Bash naar iets anders te maken. NB: dat maakt niets uit voor je Bash scripts, die worden gewoon nog steeds door Bash uitgevoerd. Sterker nog, veel scripts die ik maak zijn nog steeds Bash.
#!/usr/bin/env fish
Werkt ook gewoon toch, mij irriteert de complexiteit van een aantal zaken in bash bv:

Bash:
echo $((10 + 15))


Fish:
math 10 + 15

[Reactie gewijzigd door nullbyte op 31 december 2025 20:17]

ik zit in de categorie mensen die zelden de CLI gebruiken. Maar sinds dat ik de keuze heb gemaakt om de applicaties voornamelijk via HomeBrew te installeren en updaten en wat aan het spelen ben met Python, ben ik in aanraking gekomen met Fish via de meuktracker. Gebruik maar een fractie van de mogelijkheden die Fish biedt, maar het automatisch laten aanvullen vindt ik heerlijk. Zeker als ik af en toe de oude RaspPi met Unbound wil updaten. SSH en de rest wordt aangevuld. top :)

Om te kunnen reageren moet je ingelogd zijn