Oh My Fish! 让你的 Shell 漂亮起来
如何使用 Oh My Fish (简称 omf ) ，让我们的 Fish shell 变得漂亮且优雅。
Fish
27.47.129.159
我的agnoster的箭头是蓝色的？？
来自广东广州的 Firefox 72.0|Windows 10 用户
2020-01-10T10:14:38.000
如何使用 Oh My Fish (简称 omf ) ，让我们的 Fish shell 变得漂亮且优雅。
![](/data/attachment/album/201804/04/213630umlzt27nult9lmn3.jpg)


几天前，我们讨论了如何[安装 Fish shell](https://www.ostechnix.com/install-fish-friendly-interactive-shell-linux/)，这是一个健壮的、完全可用的 shell，带有许多很酷的功能，如自动建议、内置搜索功能、语法高亮显示、基于 web 配置等等。今天，我们将讨论如何使用 Oh My Fish (简称 `omf` ) ，让我们的 Fish shell 变得漂亮且优雅。它是一个 Fishshell 框架，允许你安装扩展或更改你的 shell 外观的软件包。它简单易用，快速可扩展。使用 `omf`，你可以根据你的想法，很容易地安装主题，丰富你的外观和安装插件来调整你的 Fish shell。


### 安装 Oh My Fish


安装 omf 很简单。你要做的只是在你的 Fish shell 中运行下面的命令。



```
curl -L https://get.oh-my.fish | fish

```

![](/data/attachment/album/201804/04/213634jv4jdx8w8jx0g88g.png)


一旦安装完成，你将看到提示符已经自动更改，如上图所所示。另外，你会注意到当前时间在 shell 窗口的右边。


就是这样。让我们继续并调整我们的 fish shell。


### 现在，让我们将 Fish Shell 变漂亮


列出所有的安装包，运行：



```
omf list

```

这条命令将显示已安装的主题和插件。请注意，包可以是主题或插件。安装包意味着安装主题和插件。


所有官方和社区支持的包（包括插件和主题）都托管在 [Omf 主仓库](https://github.com/oh-my-fish) 中。在这个主仓库中，你可以看到大量的仓库，其中包含大量的插件和主题。


现在让我们看一下可用的和已安装的主题列表。为此，运行：



```
omf theme

```

![](/data/attachment/album/201804/04/213638perffrjbb8ki7jb9.png)


如你所见，我们只有一个已安装的主题，这是默认的，但是还有大量可用的主题。在安装之前，你在[这里](https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md)可以预览所有可用的主题。这个页面包含了所有的主题细节，特性，每个主题的截图示例，以及哪个主题适合谁。


#### 安装一个新主题


请允许我安装一个主题，例如 clearance 主题，这是一个极简的 fish shell 主题，供那些经常使用 `git` 的人使用。为此，运行：



```
omf install clearance

```

![](/data/attachment/album/201804/04/213642wnjtcuh4mhcl7vmm.png)


如上图所示，在安装新主题后，Fish shell 的提示立即发生了变化。


让我浏览一下系统文件，看看它如何显示。


![](/data/attachment/album/201804/04/213648r1n0rt2dtqy0t32c.png)


看起来不错！这是一个非常简单的主题。它将当前工作目录，文件夹和文件以不同的颜色区分开来。你可能会注意到，它还会在提示符的顶部显示当前工作目录。现在，clearance 是我的默认主题。


#### 改变主题


就像我之前说的一样，这个主题在安装后被立即应用。如果你有多个主题，你可以使用以下命令切换到另一个不同的主题：



```
omf theme <theme-name>

```

例如：



```
omf theme agnoster

```

现在我正在使用 agnoster 主题。 agnoster 就是这样改变了我 shell 的外观。


![](/data/attachment/album/201804/04/213652ipxc559qi754p5h7.png)


#### 安装插件


例如，我想安装一个天气插件。为此，只要运行：



```
omf install weather

```

天气插件依赖于 [jq](https://stedolan.github.io/jq/)（LCTT 译注：jq 是一个轻量级且灵活的命令行JSON处理器）。所以，你可能也需要安装 `jq`。它通常在 Linux 发行版的默认仓库中存在。因此，你可以使用默认的包管理器来安装它。例如，以下命令将在 Arch Linux 及其衍生版中安装 `jq`。



```
sudo pacman -S jq

```

现在，在 Fish shell 中使用以下命令查看天气：



```
weather

```

![](/data/attachment/album/201804/04/213655stnkffwlftlwlz8l.png)


#### 寻找包


要搜索主题或插件，请执行以下操作：



```
omf search <search_string>

```

例如：



```
omf search nvm

```

为了限制搜索的主题范围，使用 `-t` 选项。



```
omf search -t chain

```

这条命令只会搜索主题名字中包含 “chain” 的主题。


为了限制搜索的插件范围，使用 `-p` 选项。



```
omf search -p emacs

```

#### 更新包


要仅更新核心功能（`omf` 本身），运行：



```
omf update omf

```

如果是最新的，你会看到以下输出：



```
Oh My Fish is up to date.
You are now using Oh My Fish version 6.
Updating https://github.com/oh-my-fish/packages-main master... Done!

```

更新所有包：



```
omf update

```

要有选择地更新软件包，只需包含如下所示的包名称：



```
omf update clearance agnoster

```

#### 显示关于包的信息


当你想知道关于一个主题或插件的信息时，使用以下命令：



```
omf describe clearance

```

这条命令将显示关于包的信息。



```
Package: clearance
Description: A minimalist fish shell theme for people who use git
Repository: https://github.com/oh-my-fish/theme-clearance
Maintainer:

```

#### 移除包


移除一个包，例如 emacs，运行：



```
omf remove emacs

```

#### 管理仓库


默认情况下，当你安装了 Oh My Fish 时，会自动添加官方仓库。这个仓库包含了开发人员构建的所有包。要管理用户安装的仓库包，使用这条命令：



```
omf repositories [list|add|remove]

```

列出所有安装的仓库，运行：



```
omf repositories list

```

添加一个仓库：



```
omf repositories add <URL>

```

例如：



```
omf repositories add https://github.com/ostechnix/theme-sk

```

移除一个仓库：



```
omf repositories remove <repository-name>

```

#### Oh My Fish 排错


如果出现了错误，`omf` 足够聪明来帮助你，它可以列出解决问题的方法。例如，我安装了 clearance 包，得到了文件冲突的错误。幸运的是，在继续之前，Oh My Fish 会指示我该怎么做。因此，我只是简单地运行了以下代码来了解如何修正错误。



```
omf doctor

```

通过运行以下命令来解决错误：



```
rm ~/.config/fish/functions/fish_prompt.fish

```

![](/data/attachment/album/201804/04/213659c14pp8w349ph1p1w.png)


无论你何时遇到问题，只要运行 `omf doctor` 命令，并尝试所有的建议方法。


#### 获取帮助


显示帮助部分，运行：



```
omf -h

```

或者



```
omf --help

```

#### 卸载 Oh My Fish


卸载 Oh My Fish，运行以下命令：



```
omf destroy

```

继续前进，开始自定义你的 fish shell。获取更多细节，请参考项目的 GitHub 页面。


这就是全部了。我很快将会在这里开始另一个有趣的指导。在此之前，请继续关注我们！


干杯！




---


via: <https://www.ostechnix.com/oh-fish-make-shell-beautiful/>


作者：[SK](https://www.ostechnix.com/author/sk/) 译者：[MjSeven](https://github.com/MjSeven) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

