什么是ZSH,为什么要用它代替Bash?

时间:2020-01-09 10:44:12  来源:igfitidea点击:

ZSH也称为Z Shell,是Bourne Shell(sh)的扩展版本,具有许多新功能,并支持插件和主题。由于ZSH与Bash基于相同的shell,因此ZSH具有许多相同的功能,并且切换起来非常容易。

那为什么要使用它呢?

ZSH有太多功能要在这里列出,对Bash进行了一些小的改进,但是其中一些主要功能是:

  • 自动cd:只需输入目录名称

  • 递归路径扩展:例如,/ u / lo / b扩展为/ usr / local / bin

  • 拼写更正和大致完成:如果我们在输入目录名称时犯了一个小错误,ZSH将为我们修复它

  • 插件和主题支持:ZSH包括许多不同的插件框架

插件和主题支持可能是ZSH的最酷功能,这就是我们将在此处重点介绍的功能。

安装ZSH

如果我们使用的是macOS,并且已安装Homebrew(应该这样做),则可以使用单个命令安装ZSH:

brew install zsh

同样对于macOS用户,我们可能应该使用iTerm而不是本机终端,因为它具有更好的颜色支持(以及许多其他功能)。

如果我们使用的是Linux,则命令可能因发行版而异,但它应该是程序包管理器中的默认程序包。如果遇到问题,可以查阅本指南。

如果我们使用的是Windows,则可能甚至没有Bash。我们可以按照本指南进行设置并启用ZSH。

安装Oh-My-Zsh

Oh-My-Zsh是ZSH最受欢迎的插件框架,它还带有许多内置插件和主题。还有其他几个插件框架,包括Antigen,它是ZSH的完整软件包管理器,但是Oh-My-Zsh内置了许多插件,并且可以很好地完成工作。

Oh-My-Zsh有一个可以运行的简单安装脚本:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

从那里,我们可以通过将插件添加到~目录中的.zshrc文件中来启用和禁用插件。

我们可以在Oh-My-Zsh存储库中获得插件的完整列表。

主题

有很多主题可以讨论,但是powerlevel9k到目前为止是最酷的。它添加了一个右对齐的信息框,与git和命令历史记录集成,令人难以置信的自定义,并将其全部包装在基于vim的电力线插件的漂亮界面中。

我们可能要在macOS或者任何24位彩色的终端上使用iTerm,以充分利用powerlevel9k(或者任何ZSH主题)。

要设置powerlevel9k(如果已安装Oh-My-Zsh),只需将存储库克隆到.oh-my-zsh自定义主题文件夹中:

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

然后,我们需要在.zshrc中启用它:

ZSH_THEME="powerlevel9k/powerlevel9k"

之后,获取.zshrc,然后我们应该会看到所做的更改。

如果需要,可以通过在.zshrc中定义POWERLEVEL9K_LEFT_PROMPT_ELEMENTS来自定义默认提示。这是我的,提示很少:

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs dir rbenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(root_indicator background_jobs status load)

我们可以在存储库中找到有关powerlevel9k的完整文档。