Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

在月初召开的 WWDC 2019 上,Apple 发布了下一代 macOS —— macOS Catalina。除了斩新的音乐和电视等 app、支持 iPad 作为外置显示器等不言而喻的更新,macOS Catalina 还为职业用户带来了一项重大变更 —— Zsh 将取代 Bash,成为操纵体系的默认 Shell。

只管 Apple 没有对这一改变作出注释,但凭据 The Verge 的 推测,这可能与 GPLv3 和谈相关。macOS 当前应用的 Bash 3.2 版本基于 GPLv2 和谈,但新版 Bash 曾经转移到了 GPLv3 和谈。GPLv3 和谈对 Apple 如许的大公司有着更严格的限制,这不妨 Apple 不再将 Bash 作为默认 Shell 的缘故。

而相比 Bash 来说,Zsh 也拥有很多更壮大的功效:更智能的自动补全、号令选项提醒、更富厚的主题,等等。在今秋体验到 macOS Catalina 正式版以前,我们可以先将 macOS 的默认 Shell 切换到 zsh,熟悉一下新版 Shell 的功效。

本文的目标,即是要帮你打造一个悦目、好用的 Zsh 终端。

一个漂亮又强大的终端

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

Zsh 与 Oh My Zsh

Zsh 本体有着壮大的功效,但碍于其复杂的配置,对一般用户而言并不太适用。不过,一个开源名目的出现冲破了这一地势 —— 它即是本文的主角:Oh My Zsh。借助 Oh My Zsh,你只必要进行极为简单的安置配置,便用上 Zsh,并享用很多酷炫的功效,下面就让我们正式开始安置历程。

安置 Oh My Zsh

macOS Mojave 曾经自带了 Zsh,所以我们干脆安置 Oh My Zsh。安置历程极为简单,翻开终端,执行一行号令即可:

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

在安置历程中会提醒 Do you want to change your default shell to zsh? [Y/n](是否将默认 Shell 切换到 Zsh),按下 Y 并回车即可。随后会提醒 Password for xxx,输入你的用户密码并回车即可。当你瞥见大大的 Oh my zsh 标志时就表示 Oh My Zsh 曾经安置胜利了。

显示「Oh my zsh」表示安置胜利

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

根基配置

安置好 Oh My Zsh 后,应用以下号令翻开 Zsh 的配置文件:

vim ~/.zshrc

在 vim 编纂器下,你可以应用偏向键挪动光标,按 i 进入编纂模式,编纂好后按 esc 退出编纂模式,随后输入 :wq 并回车即可留存。相关 Vim 的更多应用要领你可以参考 这篇教程。另外,Mac 下的 Vim 默认是没有显示行号 & 开启语法高亮的,你可以参考以下号令翻开行号显示 & 语法高亮:

cp /usr/share/vim/vimrc ~/.vimrc#复制 vim 配置模版

echo 'syntax on' >> ~/.vimrc#开启语法高亮

echo 'set nu!' >> ~/.vimrc#开启行号显示

Zsh 的配置文件中提供了详细的注释,你可以凭据注释点窜关联配置,满足本人的要求。比方,你想关闭 Zsh 的自动更新,则定位到 DISABLE_AUTO_UPDATE 一行,凭据前面的注释,删除行前的注释象征 # 即可。

关闭自动更新

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

留存退出以后,应用以下号令使 Zsh 的配置登时见效:

source ~/.zshrc

配置主题

Oh My Zsh 自带了大批主题文件。你可以执行以下号令查看自带的主题:

ls ~/.oh-my-zsh/themes

对于自带主题的样式和出现结果,你可以前往 Oh My Zsh 的 官方 Wiki 查看。

在这里,我选定应用 agnoster 作为我的主题。我们必要通过编纂 zsh 配置文件来点窜主题:

vim ~/.zshrc

定位到 ZSH_THEME 一行,将双引号中的内容点窜为本人选定的主落款即可。

点窜主落款

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

留存退出后,执行以下号令使 zsh 的配置登时见效:

source ~/.zshrc

安置 Powerline 字体

主题配置实现后,终端中却出现了乱码的字符:

乱码字符

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

这是因为我应用的 agnoster 主题中含有分外字符,必要安置 Powerline 字体支持才气平常显示。翻开终端,参考以下号令安置 Powerline 字体:

cd ~/Downloads && git clone https://github.com/powerline/fonts.git#将 Powerline 字体文件下载到「下载」文件夹中

cd fonts && ./install.sh#安置所有 Powerline 字体

cd && rm -rf ~/Downloads/fonts#删除下载的字体文件

随后,我们按 ⌘, 翻开终端偏好配置,在「形貌文件 > 文本」中更改字体。

更改字体选项

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

在弹出的窗口当选定一款 Powerline 字体(所有可选项请参考 Powerline 的 GitHub 页面),调整一下字体大小即可。在这里我选定了 DejaVu Sans Mono for Powerline 字体(逮虾户!),大小配置为 14 磅。

我的字体配置

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

此时回到终端,发现表示文件目次的箭头曾经可以平常显示了:

Powerline 字体可以在 agnoster 主题中平常显示

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

配置终端色彩计划

主题上的配置至此就差未几了,不过 macOS Mojave 默认终端的黑底白字看起来照旧有些不舒适。在这里,我们无妨应用 Solarized 配色计划来进一步粉饰终端。开始,应用以下号令下载 Solarized 配色计划:

cd ~/Downloads && git clone git://github.com/altercation/solarized.git#将配色计划下载到「下载」文件夹中

下载完毕后,我们按 ⌘, 翻开终端偏好配置,点击「形貌文件 > ⚙︎⌄ > 导入」。

导当选项

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

在弹出的窗口中,定位到 Downloads > solarized > osx-terminal.app-colors-solarized,双击 Solarized Dark ansi.terminal 导入暗色的 Solarized 配色计划。

选定下载好的 Solarized 配色计划

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

随后,我们在形貌文件当选中 Solarized Dark ansi,点击「默认」将其设为默认配色计划;别忘了把字体改成 Powerline 字体并调整大小。

别忘记改字体

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

配色细节点窜

重启一下终端,到这里,我们漂亮的终端曾经根基实现了,不过当今的配色让人有些看不清字:

有些看不清字

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

重度强迫症的我肯定不行接受。是以我们按 ⌘, 翻开终端偏好配置,点击「形貌文件 > Solarized Dark ansi」,对配色进行进一步的自定义。单击你想要更改的色彩,在弹出的小窗口中点选拾色器(像吸管同样的东西)。

拾色器

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

随后,你可以参考下图把色彩一项一项吸过去。这里我的配置概括了 iTerm 2 的配色和个人的少量点窜。

配色计划参考

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

另有一项让我不爽的地方 —— 文件目次前那个长长的 demo@Stevens-MacBook-Pro。通过点窜主题配置文件,我们就能去掉它。应用以下号令编纂 agnoster 主题的配置文件:

vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

定位到以下内容:

# Context: user@hostname (who am I and where am I)

prompt_context() {

if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then

prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"

fi

}

在 prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m" 前面加一个注释象征 #,留存退出,执行 source ~/.zshrc 使配置登时见效即可。

配置插件

Oh My Zsh 支持很多壮大的插件,可以实现语法高亮、号令自动补全等功效。你可以执行以下号令查看自带的插件:

ls ~/.oh-my-zsh/plugins/

对于自带插件的功效及应用,你可以前往 Oh My Zsh 官方 Wiki 查看。

要启用某个插件,只必要用 vim ~/.zshrc 编纂 zsh 配置文件,定位到 plugins 一行,在括号中增加必要的插件称号,以空格分开。留存退出后,别忘了执行  source ~/.zshrc 使配置登时见效。

点窜 plugins 一行的配置启用插件

Mac os提前用上 macOS Catalina的Shell Oh My Zsh 配置指南

我应用的插件git

默认启用的插件,提供了种种 git 号令的缩写。其 官方申明 提供了所有缩写的参考。

z

自带插件,增加到配置文件中即可启用,可以赞助你疾速跳转到走访过的文件夹。具体应用要领请自行 Google 或参考 GitHub 文档。

zsh-syntax-highlighting

输入精确的常用号令会以绿色高亮显示,输入错误则会显示其余的色彩。应用以下号令安置:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

下载实现后,别忘了把 zsh-syntax-highlighting 增加到配置文件的 plugins 中,并执行 source ~/.zshrc 使配置见效。

zsh-autosuggestions

输入号令时,会用浅色字体给出建议的号令,按 → 即可自动补全。应用以下号令安置:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

下载实现后,别忘了把 zsh-autosuggestions 增加到配置文件的 plugins 中,并执行 source ~/.zshrc 使配置见效。

为了让提醒的字体色彩精确显示,我们还必要执行:

echo "export TERM=xterm-256color" >> ~/.zshrc#申明终端范例

echo "ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'" >> ~/.zshrc#配置建议号令的文字色彩

你可以点窜 fg= 后的数字来指定建议号令的文字色彩,数字与色彩的对应表请参考 这里。

小结

至此,你曾经实现了 Oh My Zsh 在 macOS 下的根基配置。当今你获得了一个更漂亮的终端,相信这能让你在终端下进行操纵时势半功倍。如果你还有疑问可以到Macdown.com,所有软件都是经过测试的,还素各种素材模板等供你选择。


上一篇:浅谈XXE漏洞攻击与防御——本质上就是注入,盗取数据用


下一篇:oh-my-zsh+Powerlevel9k打造漂亮的终端