再也不用害怕小黑窗!用Fish Shell让终端操作更舒适
在Web制作和开发的第一线,我们无法回避在黑色的窗口,也就是“终端”中进行命令操作。一开始可能会觉得难以入手,一出现错误就容易感到挫败,对吧?但是,如果终端能变得更直观、像一位亲切的助手一样,那会怎么样呢?
这次要介绍的“Fish Shell”正是能实现这个梦想的工具。它原生支持强大的自动补全功能和语法高亮(命令着色),即使是初学者也能惊人地舒适地进行命令操作。本文将从fish shell的安装,到能极大改善您开发环境的fish环境配置,以及基本的fish设置方法,都将进行详细解说,让您仅通过复制粘贴就能完成所有操作。来吧,让我们一起体验“能用”的感觉!🚀
什么是Fish Shell?为什么推荐它?
Fish是“Friendly Interactive Shell”(友好交互式外壳)的缩写,正如其名,它的开发目标就是成为一个“亲切易用的交互式Shell”。与许多Linux和macOS系统默认的“Bash”或以高可定制性著称的“Zsh”相比,Fish最大的特点就是无需配置即可立即使用其强大的功能。
- 🎨 语法高亮: 通过颜色告诉您正在输入的命令是正确还是错误。
- 🧠 智能自动补全: 根据历史记录和文件名,预测您接下来可能要输入的命令并以灰色显示。
- 📖 丰富的帮助文档: 如果不清楚某个命令的用法,可以立即查阅手册。
- 🔧 简单的设置: 可以在Web浏览器上直观地更改设置。
得益于这些功能,输错命令的情况将大大减少,工作效率也会显著提升。它堪称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的用户来说,在切换时有几个需要注意的语法差异。
- 逻辑与 (AND): 在Bash中写作`command1 && command2`,但在Fish中写作`command1; and command2`。
- 设置环境变量: Bash的`export VAR=value`在Fish中是`set -x VAR value`。
- 命令替换: Bash的
`command`或`$(command)`在Fish中只需用括号` (command)`即可。
在网上复制粘贴教程中的命令时,可能会因为这些差异而出错。如果遇到“command not found”之类的错误,原因可能就在于这些语法差异。慢慢习惯就好。
总结
本文讲解了从fish shell的安装到基本的环境配置以及初始设置的方法。无需配置即可使用的强大自动补全和颜色高亮功能,可以极大地减轻您在终端操作中的压力。虽然一开始可能会有些不习惯,但正因为是每天都要使用的工具,选择一个对自己最舒适的工具是完全值得的。
希望本文能成为您尝试Fish Shell的契机,开启您舒适的命令行生活!
下一步
完成了Fish的基本引入后,下一步就是亲身体验它强大的功能了!在下面的文章中,我们通过具体的演示,详细解释了为什么Fish被称为“易用”,其原因就在于它的自动补全、颜色高亮和历史记录功能。