在我之前的文章中,我解释了如何开始使用 Z-shell (Zsh)。对于某些用户来说,关于 Zsh 最令人兴奋的事情是它能够采用新的主题。为 Zsh 设置主题非常容易,这既是因为活跃的社区为 shell 设计视觉效果,也因为 Oh My Zsh 项目,该项目使得安装主题变得非常简单。
主题化是您立即注意到的变化之一,因此如果您在安装 Zsh 时感觉没有更换 shell,那么一旦您采用了 Oh My Zsh 捆绑的 100 多个主题之一,您肯定会感受到它的变化。然而,Oh My Zsh 的功能远不止漂亮的主题;还有数百个插件可以为您的 Z-shell 环境添加功能。
安装 Oh My Zsh
ohmyz.sh 网站鼓励您通过从您的计算机上运行一个互联网脚本来安装该框架。虽然 Oh My Zsh 项目几乎可以肯定是值得信赖的,但盲目地在您的系统上运行脚本通常是不明智的。如果您想运行安装脚本,您可以下载它、阅读它,并在您确信您了解它正在做什么之后再运行它。
如果您下载并阅读了该脚本,您可能会注意到安装过程仅包含三个步骤
1. 克隆 oh-my-zsh
首先,将 oh-my-zsh 存储库克隆到一个名为 ~/.oh-my-zsh 的目录中
% git clone http://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh
2. 切换配置文件
接下来,备份您现有的 .zshrc 文件,并将默认文件从 oh-my-zsh 安装位置移动到其位置。您可以使用 mv 的 -b(备份)选项在一个命令中完成此操作,前提是您的 mv 命令版本包含该选项
% mv -b \
~/.oh-my-zsh/templates/zshrc.zsh-template \
~/.zshrc
3. 编辑配置
默认情况下,Oh My Zsh 的配置非常平淡,因此您可能希望将您的自定义 ~/.zshrc 重新集成到 .oh-my-zsh 配置中。为此,请使用 cat 命令 将您的旧配置附加到新配置的末尾
% cat ~/.zshrc~ >> ~/.zshrc
要查看默认配置并了解它提供的一些选项,请在您喜欢的文本编辑器中打开 ~/.zshrc。该文件注释良好,因此它是很好地了解可能性的方法。
例如,您可以更改 .oh-my-zsh 目录的位置。在安装时,它位于您的主目录的根目录中,但现代 Linux 约定(由 Free Desktop 规范定义)是将扩展应用程序功能的目录放在 ~/.local/share 目录中。您可以在 ~/.zshrc 中通过编辑以下行来更改它
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.local/share/oh-my-zsh
然后将目录移动到该位置
% mv ~/.oh-my-zsh \
$HOME/.local/share/oh-my-zsh
如果您使用的是 MacOS,则规范不太明确,但可以说该目录最合适的位置是 $HOME/Library/Application\ Support。
重新启动 Zsh
编辑配置后,您必须重新启动您的 shell。在您执行此操作之前,请确保您已完成任何正在进行的配置更改;例如,不要更改 .oh-my-zsh 的路径,然后忘记将目录移动到其新位置。如果您不想重新启动您的 shell,您可以 source 配置文件,就像您可以对 Bash 执行的操作一样
% source ~/.zshrc
➜ .oh-my-zsh git:(master) ✗
您可以忽略任何关于缺少更新文件的警告;它们将在重新启动时解决。
更改您的主题
安装 Oh My Zsh 会将您的 Z-shell 主题设置为 robbyrussell,这是项目维护者的主题。此主题的更改非常小,主要涉及您的提示符的颜色。
要查看所有可用的主题,请列出 .oh-my-zsh 主题目录的内容
➜ .oh-my-zsh git:(master) ✗ ls \
~/.local/share/oh-my-zsh/themes
3den.zsh-theme
adben.zsh-theme
af-magic.zsh-theme
afowler.zsh-theme
agnoster.zsh-theme
[...]
要在尝试主题之前查看主题的屏幕截图,请访问 Oh My Zsh wiki。要获得更多主题,请访问 外部主题 wiki 页面。
大多数主题都很容易设置和使用。只需更改 .zshrc 中主题名称的值并重新加载配置
➜ ~ sed -i \
's/_THEME=\"robbyrussel\"/_THEME=\"linuxonly\"/g' \
~/.zshrc
➜ ~ source ~/.zshrc
seth@darkstar:pts/0->/home/skenlon (0) ➜
其他主题需要额外的配置。例如,要使用 agnoster 主题,您必须首先安装 Powerline 字体。这是一个开源字体,如果您运行的是 Linux,它可能在您的软件存储库中。使用以下命令安装它
➜ ~ sudo dnf install powerline-fonts
在配置中设置您的主题
➜ ~ sed -i \
's/_THEME=\"linuxonly\"/_THEME=\"agnoster\"/g' \
~/.zshrc
然后重新启动(简单的 source 将不起作用)。重新启动后,您将看到新主题

安装插件
Oh My Zsh 附带 200 多个插件,您可以通过查看 .oh-my-zsh/plugins 来查看它们。每个插件目录都有一个 README 文件,解释该插件的作用。
一些插件相对简单。例如,dnf、ubuntu、brew 和 macports 插件是别名的集合,用于简化与 DNF、Apt、Homebrew 和 MacPorts 包管理器交互。
其他插件更复杂。git 插件默认处于活动状态,当您在 Git 存储库 中工作时,它会检测到并更新您的 shell 提示符,以便它列出当前分支,甚至指示是否存在未合并的更改。
要激活插件,请将其添加到 ~/.zshrc 中的插件设置。例如,要添加 dnf 和 pass 插件,请在您喜欢的文本编辑器中打开 ~/.zshrc
plugins=(git dnf pass)
保存您的更改并重新加载您的 Zsh 会话
% source ~/.zshrc
插件现在已激活。您可以通过使用它提供的别名之一来测试 dnf 插件
% dnfs fop
====== Name Exactly Matched: fop ======
fop.noarch : XSL-driven print formatter
不同的插件做不同的事情,因此您可能希望一次只安装一两个插件,以帮助您了解 shell 的新功能。
作弊
一些 Oh My Zsh 插件非常通用。如果您查看一个声称是 Z-shell 插件的插件,并且该代码也与 Bash 兼容,那么您可以在您的 Bash shell 中使用它。某些插件需要 Z-shell 特定的功能,因此这不适用于所有插件。但是您可以使用 source 加载您选择的插件,将 dnf、ubuntu、firewalld 和其他插件加载到 Bash shell 中。例如
if [ -d $HOME/.local/share/oh-my-zsh/plugins ]; then
source $HOME/.local/share/oh-my-zsh/plugins/dnf/dnf.plugin.zsh
fi
要 Z 还是不要 Z
Z-shell 是一个强大的 shell,这既归功于其内置功能,也归功于其充满激情的社区贡献的插件。无论您将其用作您的主要 shell,还是仅在周末或假期访问的 shell,您都应该尝试一下。
您最喜欢的 Z-shell 主题和插件是什么?请在评论中告诉我们!
3 条评论