Fish Shell 4.0

Fish Shell 4.0

Command Shell Fish Shell, popular among terminal users, has been updated to version 4.0, which brings significant changes and improvements.

The main novelty is that Fish Shell has now been completely rewritten in the Rust programming language. However, for regular users, this transition will be almost imperceptible: commands, settings, and typical interactions will remain the same.

Other significant changes include

  • New key binding system. Fish Shell 4.0 features an updated key binding system and deeper compatibility with terminals. You can now replace non-intuitive escape sequences with more human-readable commands, such as bind ctrl-right. With support for the Kitty keyboard protocol, Fish can distinguish control sequences that previously seemed identical, such as bind ctrl-i, bind ctrl-I, and bind tab.
  • Integration with terminal capabilities. Fish now automatically uses OSC 133 sequences for hints and command output, facilitating smoother synchronization with various terminals that previously relied on additional shell integration scripts.
  • Improved handling of long commands. The shell now handles long command lines more cleanly, scrolling them instead of displaying them incorrectly. Any changes caused by command line bindings are immediately visible, providing a more intuitive user experience.
  • Command history. The command history pager, first introduced in Fish 3.6, has been refined. You can now use glob syntax for more precise filtering of history entries, for example, searching by * glob syntax — git*HEAD will yield everything where both git and HEAD appear in that exact order.
  • New default theme. In the new version, the default theme has been slightly changed: commands are now displayed in the 'normal' terminal color instead of the hard-to-read 'blue'. Existing users will retain their current settings unless they manually reload the theme via fish_config.
  • Self-installing builds. The new self-installing builds feature could be a real breakthrough for users who often work via SSH on servers without administrative privileges. After compiling Fish, you can run a single standalone binary that extracts everything you need — functions, man pages, and even a web-based configuration tool — into your home directory.
  • Excluding commands from history. The long-awaited feature to exclude specific commands from history has finally arrived. By defining a custom function fish_should_add_to_history, you can precisely determine which commands will be saved.
  • Improvements for scripting.:
    • string match now supports the —max-matches option, allowing you to limit the number of matches processed;
    • for loops will no longer retain local variables from previous iterations;
    • set receives the —no-event option to suppress variable change events;
    • time starts measuring earlier, capturing the duration of any command substitutions before they are executed;
    • complete —erase fully disables completion autoloading for the specified commands.

Source: linux.org.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster