Fish 配置
介绍
Fish 是一种用户友好的 Unix shell,它支持自动补全、语法高亮和其他功能,使得命令行操作变得更加容易。Fish 具有简单的语法,并且可以自动识别文件和目录名称,这使得它特别适合新手使用。Fish 还有一个强大的脚本语言,可以用来创建复杂的脚本和工具。Fish 也支持多种不同的主题和样式,可以根据用户的喜好进行自定义。
Fish 和 Bash 和 Zsh 对比,一言以蔽之就是开箱即用的高亮和自动不全,缺点就是和 POSIX 不兼容。Fish 有个骚操作就是执行 fish_config
后就可以在浏览器中配置。
Bash 中的特殊变量也挺难记的,Fish 中也都改成了单词:
1 | $*, $@, $1 ...: $argv # 函数或者脚本的参数 |
更多的差异,查看官方文档
安装
通过 brew install fish fisher starship
一键安装。
- fisher: 作为 Fish 的包管理工具,就不需要每次都去修改
config.fish
- Starship: Rust 编写的轻量、迅速、可无限定制的高颜值终端,类似 - powerlevel10k
配置
我安装的插件如下,可通过 fisher install meaningful-ooo/sponge
安装, fisher update
来进行更新。
1 | ❯ fisher list |
更多可参考 awsm.fish 进行安装。
其他基本上没什么需要配置的,如果需要的话,修改 ~/.config/fish/config.fish
文件即可。
主题
可通过 starship preset nerd-font-symbols > ~/.config/starship.toml
设置 symbols
,更多设置,可参考官方文档,大部分时候都不需要。
最终只需要在 ~/.config/fish/config.fish
中添加一行 starship init fish | source
即可。
成果
之后只要在 iTerm2 中设置 fish
为启动 shell,显示效果如下:
从试用上来看,比 iTerm2+Zsh 的组合启动速度肉眼可见的迅速。但是由于不兼容 POSIX shell,暂时通过 replay.fish临时执行 Bash 脚本,后续还要看看是否有其他问题。
---EOF---