fish:不用配插件就有的自动补全,命令行能省多少事
开箱即用的那套
fish(friendly interactive shell)是一款把交互体验放在第一位的命令行 shell。它和 bash、zsh 最大的区别在于“装上就是配置好的”:输入命令时下方会直接给出基于历史的自动建议,按方向键即可采纳;命令行内容实时着色,命令是否存在、路径是否有效,敲的时候就能看出来;补全不止补文件名,还能补命令参数、Git 分支、进程名等,且有可翻页的说明列表。

交互上的几处细节
历史记录可以用关键字搜索,也能按前缀直接调出上一条同类命令;标签补全与通配符展开都支持可视化预览。abbreviation(缩写)是它很有用的一项:把常用长命令定义成几个字符,展开后仍是可见的完整命令,不像 alias 那样隐藏真实内容。提示符、配色与函数都能在浏览器里用内置的配置页面调整,改完立即生效,不用手改配置文件。

脚本这块要提前知道
代价主要在脚本上:fish 有一套自己的脚本语法,并不兼容 bash。变量赋值用 set、条件判断用 if/end 而不是 then/fi,字符串不加引号也不会被拆词,数组与路径处理规则也和 bash 不同。这意味着网上大量的 bash 片段不能直接粘过来跑,已有的 shell 脚本要么改写、要么显式用 bash 执行。如果日常只是敲命令,这个影响很小;如果维护一批脚本,成本要算进去。

版本与平台
4.0 版本是一个重要节点:整个项目改用 Rust 重写,官方称性能与可维护性都有明显改善,安装方式也随构建系统调整。截至目前,稳定版本序列已更新到 4.9.3(2026 年 9 月发布),迭代节奏很快。安装覆盖 Windows、macOS 与 Linux,多数发行版的软件仓库里都有打包;设为默认 shell 前建议先在当前终端里试用一段时间。
受够了 bash 补全要靠一堆配置才好用,fish 的开箱体验几乎是一次性的解放:自动建议、实时高亮、好用的历史搜索全都在,装完就能用。唯一要权衡的是脚本不兼容 bash——日常敲命令的人几乎无感,靠脚本吃饭的人得先算清迁移成本。