🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

再也不用害怕小黑窗!用Fish Shell让终端操作更舒适

在Web制作和开发的第一线,我们无法回避在黑色的窗口,也就是“终端”中进行命令操作。一开始可能会觉得难以入手,一出现错误就容易感到挫败,对吧?但是,如果终端能变得更直观、像一位亲切的助手一样,那会怎么样呢?

这次要介绍的“Fish Shell”正是能实现这个梦想的工具。它原生支持强大的自动补全功能和语法高亮(命令着色),即使是初学者也能惊人地舒适地进行命令操作。本文将从fish shell的安装,到能极大改善您开发环境的fish环境配置,以及基本的fish设置方法,都将进行详细解说,让您仅通过复制粘贴就能完成所有操作。来吧,让我们一起体验“能用”的感觉!🚀


什么是Fish Shell?为什么推荐它?

Fish是“Friendly Interactive Shell”(友好交互式外壳)的缩写,正如其名,它的开发目标就是成为一个“亲切易用的交互式Shell”。与许多Linux和macOS系统默认的“Bash”或以高可定制性著称的“Zsh”相比,Fish最大的特点就是无需配置即可立即使用其强大的功能

得益于这些功能,输错命令的情况将大大减少,工作效率也会显著提升。它堪称Web创作者新手的强大盟友。


Fish Shell的安装方法

那么,我们马上开始在您的环境中安装Fish吧。下面将分别介绍在macOS和Linux(Ubuntu/Debian系)上的步骤。

macOS环境 (使用Homebrew)

在macOS上,使用包管理器Homebrew是最简单的方法。如果您还没有安装Homebrew,请先按照其官网的步骤进行安装。

打开终端,执行以下命令。

brew install fish

Linux环境 (Ubuntu / Debian系)

如果您使用的是Ubuntu、Debian或其衍生发行版,可以使用`apt`命令进行安装。

首先,更新您的仓库信息。

sudo apt update

接下来,安装Fish。

sudo apt install fish

将默认Shell更改为Fish

安装完成后,让我们来更改“默认Shell”,这样每次启动终端时,Fish就会自动运行。这样,fish的引入就基本完成了。

首先,确认Fish的安装位置(路径)。通常是`/usr/local/bin/fish` (macOS) 或 `/usr/bin/fish` (Linux)。

which fish

接下来,使用`chsh` (change shell) 命令,将默认Shell更改为我们刚刚确认的Fish路径。请在`-s`选项后指定该路径。

chsh -s $(which fish)

执行命令后会要求您输入密码,请输入您的登录密码。这样设置就完成了!为了使更改生效,请完全关闭终端,然后重新启动

当您打开新的终端时,如果看到如下的欢迎信息,就表示成功了。

Welcome to fish, the friendly interactive shell
  Type help for instructions on how to use fish

体验Fish的初始设置 (fish_config)

Fish的一个极好之处在于它提供了通过Web浏览器进行的简单设置功能。使用这个fish的初始设置功能,即使完全不懂命令,您也可以自由地更改外观(提示符)和颜色。

请在终端中尝试执行以下命令。

fish_config

浏览器会自动启动并显示设置页面。您可以在“Colors”标签页中选择喜欢的配色方案,或在“Prompt”标签页中尝试各种设计的提示符。找到满意的设置后,只需点击页面上方的“Set Theme”或“Set Prompt”按钮,更改就会立即在终端中生效。是不是非常简单呢?

通过配置文件自定义Fish (config.fish)

虽然通过浏览器设置很方便,但如果想进行更精细的自定义,就需要直接编辑配置文件`config.fish`了。通过这个文件进行的fish设置方法是进行深度fish环境配置的第一步。

配置文件位于`~/.config/fish/config.fish`。如果这个文件还不存在,我们就来创建一个。

首先,创建用于存放配置文件的目录。

mkdir -p ~/.config/fish

接下来,创建一个空的配置文件。

touch ~/.config/fish/config.fish

这样准备工作就完成了。用您喜欢的编辑器(如VSCode)打开这个文件,开始写入您的配置吧。

应用示例1:设置别名 (alias)

“别名”功能可以让我们用简短的关键词来调用常用的长命令。例如,我们来设置一下,让`ls -lha`这个命令只需输入`ll`就可以执行。

在`config.fish`中写入以下内容:

alias ll="ls -lha"

应用示例2:设置环境变量

有些开发工具需要设置特定的“环境变量”。例如,如果您主要使用VSCode作为编辑器,设置`EDITOR`这个环境变量会非常方便。

在`config.fish`中写入以下内容。关键点是,与Bash的`export`不同,Fish使用`set -x`。

set -x EDITOR "code"

保存文件后,打开一个新的终端,或执行`source ~/.config/fish/config.fish`,设置就会生效。


注意事项:与Bash的区别

Fish是一个非常易用的Shell,但对于习惯了Bash或Zsh的用户来说,在切换时有几个需要注意的语法差异。

在网上复制粘贴教程中的命令时,可能会因为这些差异而出错。如果遇到“command not found”之类的错误,原因可能就在于这些语法差异。慢慢习惯就好。


总结

本文讲解了从fish shell的安装到基本的环境配置以及初始设置的方法。无需配置即可使用的强大自动补全和颜色高亮功能,可以极大地减轻您在终端操作中的压力。虽然一开始可能会有些不习惯,但正因为是每天都要使用的工具,选择一个对自己最舒适的工具是完全值得的。

希望本文能成为您尝试Fish Shell的契机,开启您舒适的命令行生活!


下一步

完成了Fish的基本引入后,下一步就是亲身体验它强大的功能了!在下面的文章中,我们通过具体的演示,详细解释了为什么Fish被称为“易用”,其原因就在于它的自动补全、颜色高亮和历史记录功能。

来试试Fish Shell强大的自动补全、语法高亮和历史记录功能吧