fish

詳細情報

タイトル fish
URL https://fishshell.com/
バージョン ver 4.0.8
更新日 2025/09/18
追加日 2022/03/16
種別 フリーソフト / オープンソース(GPL)
説明 ユーザーフレンドリーなインタラクティブシェル。

レビュー

LinuxやmacOSに対応したスマートかつユーザーフレンドリーな対話型シェル。

オートサジェスト機能や、シンプルでクリーンな構文のスクリプト、manページの保管、24bit trueカラーへの対応、Webベースの設定機能、タブ保管、シンタックスハイライトなど多数の便利な機能を搭載している。

macOSの場合はHomebrewやMacPortsで、Linuxの場合は各ディストリビューションのパッケージマネージャーを使用してインストール可能。

スクリーンショット

スクリーンショットはありません。

更新グラフ

バージョン履歴

fish-shell 4.0.8 documentation »
fish 4.0.8 (released September 18, 2025)
fish 4.0.8 (released September 18, 2025)¶
This release fixes a regression in 4.0.6 that caused user bindings to be shadowed by either fish’s or a plugin’s bindings (#11803).
fish-shell 4.0.8 documentation »
fish-shell 4.0.6 documentation »
fish 4.0.6 (released September 12, 2025)
fish 4.0.6 (released September 12, 2025)¶
This release of fish fixes a number of issues identified in fish 4.0.2:
fish now properly inherits $PATH under Windows WSL2 (#11354).
Remote filesystems are detected properly again on non-Linux systems.
the printf builtin no longer miscalculates width of multi-byte characters (#11412).
For many years, fish has been “relocatable” -- it was possible to move the entire CMAKE_INSTALL_PREFIX and fish would use paths relative to its binary.
Only gettext locale paths were still determined purely at compile time, which has been fixed.
the commandline builtin failed to print the commandline set by a commandline -C invocation, which broke some completion scripts.
This has been corrected (#11423).
To work around terminals that fail to parse Operating System Command (OSC) sequences, a temporary feature flag has been added.
It allows you to disable prompt marking (OSC 133) by running (once) set -Ua fish_features no-mark-prompt and restarting fish (#11749).
The routines to save history and universal variables have seen some robustness improvements.
builtin status current-command no longer prints a trailing blank line.
A crash displaying multi-line quoted command substitutions has been fixed (#11444).
Commands like set fish_complete_path ... accidentally disabled completion autoloading, which has been corrected.
nmcli completions have been fixed to query network information dynamically instead of only when completing the first time.
Git completions no longer print an error when no git-foo executable is in PATH.
(省略されました)
fish-shell 4.0.2 documentation »
fish 4.0.2 (released April 20, 2025)
fish 4.0.2 (released April 20, 2025)¶
This release of fish fixes a number of issues identified in fish 4.0.1:
Completions are quoted, rather than backslash-escaped, only if the completion is unambiguous. Continuing to edit the token is therefore easier (#11271). This changes the behavior introduced in 4.0.0 where all completions were quoted.
The warning when the terminfo database can’t be found has been downgraded to a log message. fish will act as if the terminal behaves like xterm-256color, which is correct for the vast majority of cases (#11277, #11290).
Key combinations using the super (Windows/command) key can now (actually) be bound using the super- prefix (#11217). This was listed in the release notes for 4.0.1 but did not work correctly.
function is stricter about argument parsing, rather than allowing additional parameters to be silently ignored (#11295).
Using parentheses in the test builtin works correctly, following a regression in 4.0.0 where they were not recognized (#11387).
delete in Vi mode when Num Lock is active will work correctly (#11303).
Abbreviations cannot alter the command-line contents, preventing a crash (#11324).
The Mercurial (hg) prompt can handle working directories that contain an embedded newline, rather than producing errors (#11348).
A number of crashes have been fixed. Triggers include prompts containing backspace characters (#11280), history pager search (#11355), invalid UTF-8 in read (#11383), and the kill-selection binding (#11367).
A race condition in the test suite has been fixed (#11254), and a test for fish versioning relaxed to support downstream distributors’ modifications (#11173).
Small improvements to the documentation (#11264, #11329, #11361).
fish-shell 4.0.2 documentation »
Created using Sphinx 8.2.3.
fish-shell 4.0.1 documentation »
fish 4.0.1 (released March 12, 2025)
fish 4.0.1 (released March 12, 2025)¶
This release of fish includes the following improvements compared to fish 4.0.0:
Key combinations using the super (Windows/command) key can be bound using the super- prefix (#11217).
Konsole’s menu shows the “Open folder with” option again (#11198).
$fish_color_search_match will now only be applied to the foreground color if it has an explicit foreground. For example, this allows setting::set -g fish_color_search_match --reverse
Cursor shape commands (\e[2 q) are no longer sent in non-interactive shells or in redirections (#11255).
status gained a is-interactive-read subcommand, to check whether the script is being called from an interactive read invocation.
fish’s background tasks are now started in a way that avoids an error on macOS Terminal.app (#11181).
Using key combinations within qemu should work correctly.
Prompts containing control characters no longer cause incorrect display of command lines (#11252).
Cancelling the command-line in Vi mode displays correctly again (#11261).
The acidhub prompt properly displays the git branch again (#11179).
Completions for wine correctly include files again (#11202).
On macOS, paths from /etc/paths and /etc/manpaths containing colons are handled correctly (#10684). This functionality was included in the 4.0.0 release notes but was missing from the source code.
The XTerm modifyOtherKeys keyboard encoding is no longer used under WezTerm, as it does not work correctly in all layouts (#11204).
kbd:option-left and other similar keys should now work in iTerm versions before 3.5.12; the kitty keyboard protocol is now disabled on these versions (#11192).
The kitty keyboard protocol is no longer used under Midnight Commander, as it does not work correctly (#10640).
(省略されました)
fish-shell 4.0.0 documentation »
Contributing To Fish
fish 4.0.0 (released February 27, 2025)
Notable backwards-incompatible changes
Notable improvements and fixes
Deprecations and removed features
Scripting improvements
Interactive improvements
New or improved bindings
Completions
Improved terminal support
Other improvements
For distributors
fish 4.0b1 (released December 17, 2024)
fish 4.0.0 (released February 27, 2025)¶
fish’s core code has been ported from C++ to Rust (#9512). This means a large change in dependencies and how to build fish. However, there should be no direct impact on users. Packagers should see the For Distributors section at the end.
Notable backwards-incompatible changes¶
As part of a larger binding rework, bind gained a new key notation.
In most cases the old notation should keep working, but in rare cases you may have to change a bind invocation to use the new notation.
(省略されました)
fish-shell 3.7.1 documentation »
fish 3.7.1 (released March 19, 2024)
fish 3.7.1 (released March 19, 2024)¶
This release of fish fixes the following problems identified in fish 3.7.0:
Deleting the last history entry via history delete works again (#10190).
Wildcards (*) will no longer sometimes generate paths that did not exist (#10205).
This release also contains some improvements:
A crash when trying to run an ELF program with a missing interpreter has been fixed. This crashed in the process after fork, so did not affect the fish process that tried to start the program (#10199).
funced will now always source the file after it has written it, even if the contents did not change. This prevents issues if the file was otherwise modified (#10318).
The warning for when a builtin returns a negative exit code was improved, now mentioning the original status (#10187).
Added completions for
cobra-cli (#10293)
dmidecode (#10368)
mycli (#10309)
ollama (#10327)
pstree (#10317)
Some improvements to documentation and completions.
fish-shell 3.7.1 documentation »
Created using Sphinx 7.4.7.
fish-shell 3.7.0 documentation »
Writing your own prompt
fish 3.7.0 (released January 1, 2024)
Notable improvements and fixes
Deprecations and removed features
Scripting improvements
Interactive improvements
Improved prompts
Completions
Other improvements
For distributors
fish 3.7.0 (released January 1, 2024)¶
Notable improvements and fixes¶
Improvements to the history pager, including:
The history pager will now also attempt subsequence matches (#9476), so you can find a command line like git log 3.6.1..Integration_3.7.0 by searching for gitInt.
Opening the history pager will now fill the search field with a search string if you’re already in a search (#10005). This makes it nicer to search something with ↑ and then later decide to switch to the full pager.
Closing the history pager with enter will now copy the search text to the commandline if there was no match, so you can continue editing the command you tried to find right away (#9934).
Performance improvements for command completions and globbing, where supported by the operating system, especially on slow filesystems such as NFS (#9891, #9931, #10032, #10052).
fish can now be configured to wait a specified amount of time for a multi-key sequence to be completed, instead of waiting indefinitely. For example, this makes binding kj to switching modes in vi mode possible.
(省略されました)
fish-shell 3.6.4 documentation »
fish 3.6.4 (released December 5, 2023)
fish 3.6.3 (released December 4, 2023)
fish 3.6.2 (released December 4, 2023)
fish 3.6.4 (released December 5, 2023)¶
This release contains a complete fix for the test suite failure in fish 3.6.2 and 3.6.3.
fish 3.6.3 (released December 4, 2023)¶
This release contains a fix for a test suite failure in fish 3.6.2.
fish 3.6.2 (released December 4, 2023)¶
This release of fish contains a security fix for CVE-2023-49284, a minor security problem identified
in fish 3.6.1 and previous versions (thought to affect all released versions of fish).
fish uses certain Unicode non-characters internally for marking wildcards and expansions. It
incorrectly allowed these markers to be read on command substitution output, rather than
transforming them into a safe internal representation.
For example, echo \UFDD2HOME has the same output as echo $HOME.
While this may cause unexpected behavior with direct input, this may become a minor security problem
if the output is being fed from an external program into a command substitution where this output
may not be expected.
This release of fish contains a number of fixes for problems identified in fish 3.6.1, as well as some enhancements.
(省略されました)
fish-shell 3.6.1 documentation »
fish 3.6.1 (released March 25, 2023)
Notable improvements and fixes
Deprecations and removed features
Scripting improvements
Interactive improvements
Improved prompts
Completions
Other improvements
For distributors
fish 3.6.1 (released March 25, 2023)¶
This release of fish contains a number of fixes for problems identified in fish 3.6.0, as well as some enhancements.
Notable improvements and fixes¶
abbr --erase now also erases the universal variables used by the old abbr function. That means::abbr --erase (abbr --list)
can now be used to clean out all old abbreviations (#9468).
abbr --add --universal now warns about --universal being non-functional, to make it easier to detect old-style abbr calls (#9475).
Deprecations and removed features¶
The Web-based configuration for abbreviations has been removed, as it was not functional with the changes abbreviations introduced in 3.6.0 (#9460).
Scripting improvements¶
(省略されました)
fish-shell 3.6.0 documentation »
This documents an old version of fish.
See the latest release.
fish 3.6.0 (released January 7, 2023)
Notable improvements and fixes
Deprecations and removed features
Scripting improvements
Interactive improvements
Completions
Improved terminal support
Other improvements
Fixed bugs
For distributors
fish 3.6.0 (released January 7, 2023)¶
Notable improvements and fixes¶
Abbrevations are more flexible (#9313, #5003, #2287):
They may optionally replace tokens anywhere on the command line, instead of only commands
Matching tokens may be described using a regular expression instead of a literal word
The replacement text may be produced by a fish function, instead of a literal word
(省略されました)
fish-shell 3.5.1 documentation »
fish 3.5.1 (released July 20, 2022)
fish 3.5.1 (released July 20, 2022)¶
This release of fish introduces the following small enhancements:
Cursor shaping for Vi mode is enabled by default in tmux, and will be used if the outer terminal is capable (#8981).
printf returns a better error when used with arguments interpreted as octal numbers (#9035).
history merge when in private mode is now an error, rather than wiping out other sessions’ history (#9050).
The error message when launching a command that is built for the wrong architecture on macOS is more helpful (#9052).
Added completions for:
choose (#9065)
expect (#9060)
navi (#9064)
qdbus (#9031)
reflector (#9027)
Improvements to some completions.
This release also fixes a number of problems identified in fish 3.5.0.
Completing git blame or git -C works correctly (#9053).
On terminals that emit a CSI u sequence for Shift-Space, fish inserts a space instead of printing an error. (#9054).
status fish-path on Linux-based platforms could print the path with a “ (deleted)” suffix (such as /usr/bin/fish (deleted)), which is now removed (#9019).
(省略されました)