diff --git a/translated/tech/20171212 Oh My Fish- Make Your Shell Beautiful.md b/translated/tech/20171212 Oh My Fish- Make Your Shell Beautiful.md new file mode 100644 index 0000000000..7fad56f9ac --- /dev/null +++ b/translated/tech/20171212 Oh My Fish- Make Your Shell Beautiful.md @@ -0,0 +1,253 @@ +Oh My Fish! 让你的 Shell 漂亮起来 +===== + +![](https://www.ostechnix.com/wp-content/uploads/2017/12/oh-my-fish-720x340.jpg) + +几天前,我们讨论了如何 [**安装** **Fish shell**][1],一个健壮的,完全可用的 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 +``` + +![][3] + +一旦安装完成,你将看到提示已经自动更改,如上图所所示。另外,你会注意到当前时间在 shell 窗口的右边。 + +就是这样。让我们继续并调整我们的 fish shell。 + +#### 现在,让我们将 Fish Shell 变漂亮 + +列出所有的安装包,运行: +``` +omf list +``` + +这条命令将显示已安装的主题和插件。请注意,包可以是主题或插件。安装包意味着安装主题和插件。 + +所有官方和社区支持的包(包括插件和主题)都托管在 [**Omf 主仓库**][4] 中。在这个主仓库中,你可以看到大量的仓库,其中包含大量的插件和主题。 + +现在让我们看一下可用的和已安装的主题列表。为此,运行: +``` +omf theme +``` + +![][5] + +如你所见,我们只有一个已安装的主题,这是默认的,但是还有大量可用的主题。在安装之前,你在[**这里**][6]可以预览所有可用的主题。这个页面包含了所有的主题细节,特性,每个主题的截图示例,以及哪个主题适合谁。 + +**安装一个新主题** + +请允许我安装一个主题,例如 **clearance theme - **一个极简的 fish shell 主题,供那些经常使用 git 的人使用。为此,运行: +``` +omf install clearance +``` + +![][7] + +如上图所示,在安装新主题后,fish 的提示立即发生了变化。 + +让我浏览一下系统文件,看看它如何显示。 + +![][8] + +看起来不坏!这是一个非常简单的主题。它将当前工作目录,文件夹和文件以不同的颜色区分开来。你可能会注意到,它还会在提示符的顶部显示当前工作目录。现在,**clearance** 是我的默认主题。 + +**改变主题** + +就像我之前说的一样,这个主题在安装后被立即应用。如果你有多个主题,你可以使用以下命令切换到另一个不同的主题: +``` +omf theme +``` + +例如: +``` +omf theme agnoster +``` + +现在我正在使用 "agnoster" 主题。 agnoster 就是这样改变了我 shell 的外观。 + +![][9] + +**安装插件** + +例如,我想安装一个天气插件。为此,,只要运行: +``` +omf install weather +``` + +天气插件依赖于 [jq][10](LCTT 译注:jq 是一个轻量级且灵活的命令行JSON处理器)。所以,你可能也需要安装 jq。它通常在 Linux 发行版的默认仓库中存在。因此,你可以使用默认的包管理器来安装它。例如,以下命令将在 Arch Linux 及其衍生版中安装 jq。 +``` +sudo pacman -S jq +``` + +现在,在 fish shell 中使用以下命令查看天气: +``` +weather +``` + +![][11] + +**寻找包** + +要搜索主题或插件,请执行以下操作: +``` +omf search +``` + +例如: +``` +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 +``` + +例如: +``` +omf repositories add https://github.com/ostechnix/theme-sk +``` + +移除一个仓库: +``` +omf repositories remove +``` + +**Troubleshooting Oh My Fish** + +如果出现了错误,omf 足够聪明来帮助你,它可以列出解决问题的方法。例如,我删除并安装了 clearance 包(这句不太理解,希望校正者注意),得到了文件冲突的错误。幸运的是,在继续之前,Oh My Fish 会指示我该怎么做。因此,我只是简单地运行了以下代码来了解如何修正错误。 +``` +omf doctor +``` + +通过运行以下命令来解决错误: +``` +rm ~/.config/fish/functions/fish_prompt.fish +``` + +![][12] + +无论你何时遇到问题,只要运行 'omf doctor' 命令,并尝试所有的建议方法。 + +**获取帮助** + +显示帮助部分,运行: +``` +omf -h +``` + +或者 +``` +omf --help +``` + +**卸载 Oh My Fish** + +卸载 Oh My Fish,运行以下命令: +``` +omf destroy +``` + +继续前进,开始自定义你的 fish shell。获取更多细节,请参考项目的 GitHub 页面。 + +这就是全部了。我很快将会在这里开始另一个有趣的指导。在此之前,请继续关注 OSTechNix! + +干杯! + + +-------------------------------------------------------------------------------- +via: https://www.ostechnix.com/oh-fish-make-shell-beautiful/ + +作者:[SK][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://www.ostechnix.com/author/sk/ +[1]:https://www.ostechnix.com/install-fish-friendly-interactive-shell-linux/ +[2]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 +[3]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-1-1.png() +[4]:https://github.com/oh-my-fish +[5]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-5.png() +[6]:https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md +[7]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-3.png() +[8]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-4.png() +[9]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-6.png() +[10]:https://stedolan.github.io/jq/ +[11]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-7.png() +[12]:http://www.ostechnix.com/wp-content/uploads/2017/12/Oh-My-Fish-8.png()