打造最强 Fish Shell!Fisher 与 Oh My Fish 定制入门指南 🐟
你好!各位Web创造者,在日常的开发工作中,你们会使用终端(就是那个黑色的屏幕!)吗?
其实,如果根据自己的喜好定制这个终端,不仅能极大地提高开发效率,更重要的是能让工作变得更有趣。
这次,我们将彻底解说被誉为现代且易于使用的 Shell——“Fish”的定制方法。特别是,如果使用插件管理器“Fisher”和“Oh My Fish”,就能像给手机装应用一样,轻松地添加主题和便利功能。
本文的目的是让初学者也能通过简单的复制粘贴,体验到“能用”的感觉。复杂的理论先放一边!首先,让我们通过改变外观、添加便利功能,来实际感受一下定制的乐趣吧。
🚀 首先准备:什么是插件管理器?
在开始定制 Fish 之前,我们先简单说明一下什么是“插件管理器”。
这是一种可以轻松添加、管理和删除 Fish 外观(主题)和功能(插件)的工具。如果没有它,就需要手动下载文件、放置到特定位置、修改配置文件……等等繁琐的作业。
而使用插件管理器,只需执行一行命令,就能自动完成所有这些麻烦的操作。这次,我们将介绍其中特别受欢迎的两个:
- Fisher:简洁且高速。其魅力在于可以从 GitHub 仓库直接安装插件,非常方便。
- Oh My Fish:拥有丰富的主题和插件,都汇集在官方仓库中,易于查找和安装。其特点是“一体化”的易用性。
两者都是非常棒的工具,但各有特点。本文将解说两者的使用方法,请选择适合自己的那一个吧。
※本文假设您已经安装了 Fish shell。如果还没有,可以通过 Homebrew(macOS)或各 Linux 发行版的包管理器轻松安装。
# macOS (Homebrew) 的情况
brew install fish
🎣 来试试 Fisher 吧!简约至上的定制
首先,让我们从以简洁为魅力的 Fisher 开始吧。它的所有设置都集中在 `~/.config/fish/config.fish` 文件中,因此易于管理是其一大特点。
1. 安装 Fisher
安装过程非常简单,只需将以下命令粘贴到终端并执行即可。
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
2. 引入主题来改变外观
Fisher 准备就绪后,就立刻来改变终端的外观吧。这里,我们引入一个简洁且受欢迎的“nospace”主题。
fisher install jorgebucaran/nospace.fish
执行命令的瞬间,提示符(输入命令前的 `>` 或 `$` 部分)的显示应该就改变了。像这样,只需在 `fisher install` 后面指定 GitHub 的 `用户名/仓库名`,就可以轻松添加主题和插件。
还有很多其他主题。例如,我们也可以试试能显示很多信息的人气主题“bobthefish”。
fisher install oh-my-fish/theme-bobthefish
注意:像 bobthefish 这样功能强大的主题,可能需要另外安装像“Nerd Fonts”这样的特殊字体。如果显示出现乱码,请尝试检查您终端软件的字体设置。
3. 通过插件添加功能
改变了外观之后,接下来让我们添加一些便利的功能吧。这里,我们引入一个名为“z”的插件,它可以让你轻松地再次跳转到曾经访问过的目录。
fisher install jethrokuan/z
安装后,请尝试使用 `cd` 命令在几个目录之间移动。之后,在 `z` 后面输入目录名的一部分并按 Tab 键,它会从历史记录中补全候选项。例如,如果你之前去过 `/var/www/html/my-project`,那么只需输入 `z my-p` 再按 Tab 键就能移动过去,非常高效。
4. 确认和删除已安装的包
要确认当前安装了什么,可以使用 `list` 命令。
fisher list
删除不再需要的主题或插件也很简单。在 `remove` 后面指定包名即可。让我们来删除刚才安装的 `bobthefish` 吧。
fisher remove oh-my-fish/theme-bobthefish
🐠 来试试 Oh My Fish 吧!用丰富的选项享受定制的乐趣
接下来,我们来试试 Oh My Fish (OMF)。OMF 的巨大优势在于,大量的主题和插件都被官方编入目录,所以即使是不知道该装什么的初学者也能轻松找到。
【重要】不推荐同时使用 Fisher 和 Oh My Fish。 如果在试用 Fisher 后想使用 OMF,建议先删除 Fisher 的插件再安装 OMF,或者在另一个环境中尝试。
1. 安装 Oh My Fish
安装同样只需一行命令即可完成。
curl -L https://get.oh-my.fish | fish
安装完成后,应该已经应用了 OMF 的默认主题。
2. 查找并应用主题
OMF 的一个很棒的地方在于可以轻松地查找和试用主题。首先,让我们看看可用的主题列表。
omf theme
会显示出很多主题名称。要应用感兴趣的主题,只需在 `omf theme` 后面指定主题名。例如,我们来试试人气主题 `agnoster`。
omf theme agnoster
仅此一步,主题就会被安装并立即应用。试试各种主题,找到你最喜欢的那一个吧。
3. 安装插件
插件的安装也很简单。在 `omf install` 后面指定插件名即可。这里,我们来安装一个非常便利的插件“fzf”,它能让你通过 `Ctrl+R` 交互式地搜索命令执行历史。(※需要事先安装 `fzf` 本体)
omf install fzf
安装后,在终端里按一下 `Ctrl+R` 试试。过去执行过的命令历史会以列表形式显示,并且可以进行筛选搜索。这是一个一旦用上就再也离不开的便利功能。
可用的包可以通过 `omf search -t` (主题) 或 `omf search -p` (插件) 来搜索。
4. 确认和删除已安装的包
用 OMF 安装的包(主题和插件)列表可以通过 `list` 命令来确认。
omf list
不再需要的插件用 `remove` 来删除。
omf remove fzf
🤔 Fisher vs Oh My Fish:到底哪个好?
到目前为止,我们介绍了两种工具,可能有人会犹豫:“那么,到底该用哪个好呢?”下面总结了一个简单的选择指南。
-
🎣 推荐使用 Fisher 的人群
- 喜欢极致简洁、轻量环境的人。
- 想自己从 GitHub 等地寻找插件,并自由组合的人。
- 想将设置集中在 `config.fish` 一个地方管理的人。
-
🐠 推荐使用 Oh My Fish 的人群
- 第一次定制终端,不知道从何下手的人。
- 想从已编入目录的丰富主题和插件中轻松选择的人。
- 重视简单操作性,比如用一条命令切换主题的人。
最好是先试用其中一个,如果感觉不合适,再试试另一个。
✍️ 应用篇:直接编辑 `config.fish`,打造更个性的环境!
即使不使用插件管理器,通过直接编辑 Fish 的配置文件 `config.fish`,也可以进行各种定制。与插件功能相结合,可以构建出更强大的环境。
配置文件通常位于 `~/.config/fish/config.fish`。写在这个文件里的命令,会在 Fish 启动时自动加载。
设置别名以缩短命令
将常用的长命令替换为短关键词(别名),会非常方便。例如,我们来试试让 `ls -laF` 这个命令可以通过 `ll` 来执行。
在 `config.fish` 文件中添加以下一行。
alias ll="ls -laF"
保存文件后,打开一个新的终端,或者执行 `source ~/.config/fish/config.fish`,设置就会生效。这样,只需输入 `ll` 就能执行 `ls -laF` 了。
Git 命令的别名也是很常见的设置。
alias gco="git checkout"
alias gst="git status"
alias gaa="git add ."
设置环境变量
像编辑器设置这样希望在整个系统中使用的变量,可以设置为“环境变量”。在 Fish 中,我们使用 `set -x`。例如,要将默认编辑器设置为 `vim`,就在 `config.fish` 中像下面这样写。
set -x EDITOR "vim"
⚠️ 需要注意的地方
定制虽然有趣,但也有几点需要注意。
- 注意不要装太多插件: 虽然方便,但如果添加大量插件,可能会影响性能,比如导致 shell 启动变慢。请精挑细选,只保留真正需要的。
- 备份配置文件: 在直接编辑 `config.fish` 文件或对插件管理器的配置做大改动之前,强烈建议先备份配置文件。这样万一出问题,可以立刻恢复到原来的状态。
- 兼容性问题: 极少数情况下,插件之间可能会相互干扰导致无法正常工作。如果发生问题,可以尝试禁用最近添加的插件,逐一排查来寻找原因。
🎉 总结
这次,作为 Fish shell 定制的第一步,我们介绍了插件管理器“Fisher”和“Oh My Fish”的使用方法,以及通过配置文件 `config.fish` 进行基本定制的方法。
一开始,仅仅是复制粘贴来尝试也完全足够。单是提示符外观的改变,或是能使用新的命令,就应该能让日常的开发工作变得有趣得多。
从这里开始,再去寻找各种各样的主题和插件,亲手构建出只属于你自己的“最强终端环境”吧!