Mac开发必备工具—— Fish shell
Fish shell 简介
Fish(英文全称是“Friendly Interactive Shell”),是一个设备齐全的命令行shell(如bash或zsh),智能且用户友好。
Fish支持强大的功能,如语法突出显示,自动建议和制表符补全,这些功能只是工作,无需学习或配置。
它是一种功能齐全、可读的脚本语言。一大特点是开箱即用,没有zsh那些繁琐的配置。官网地址:http://www.fishshell.com/。
Shell 有好几种,目前最常用是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好用。
三者对比
- bash系统自带
- zsh iTerm2自带
- fish iTerm2中也可以使用fish作为shell工具
安装与配置
如果你的电脑没有安装Homebrew包管理工具,可以看这篇文章先安装好:
如何安装Homebrew 资源管理包文件 - 简书 (jianshu.com)
在终端里使用Homebrew安装,直接输入 brew install fish
等待安装完成即可。
安装完了以后还不能用,因为没把fish添加到 mac 的 shell 列表里,切换到 fish shell 时显示找不到fish shell,所以我们要先添加 fish 并设置一下 shell 。首先,用 shell 命令sudo vim /etc/shells
在 vim 中打开 Mac 的 shell 列表,执行结果如下:
LiudeMac-Pro:~ liu$ sudo vim /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
按i
键,进入插入模式,然后在列表末尾加上/usr/local/bin/fish
,最后文件内容如下:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
最后,按 esc
键跳到命令模式,输入:wq
命令保存文件并退出vim。当前模式还是 bash shell 模式,要切换到 fish shell 需要输入 fish 命令。
每次都输入命令切换 shell 比较繁琐,我们可以通过如下命令将默认shell切换成想要的:
- 设置为默认shell为fish
chsh -s /usr/bin/fish
-
设置为默认shell为zsh
chsh -s /bin/zsh
-
设置为默认shell为bash
chsh -s /bin/bash
配置
配置:fish_config
切换
切换bash shell:bash
切换fish shell:fish
切换zsh shell:zsh
常用快捷键
自动建议
Fish 会自动在光标后面给出建议,颜色为灰色。按下→
或Control + F
表示采纳建议,按下Alt + →
表示只采纳一部分。
Tab 键补全
按下 Tab 键,Fish 将尝试自动补全命令、参数或路径,如果有多条补全建议,可以继续使用 Tab 键在不同建议间切换。