在月初召开的 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 终端。
一个漂亮又强大的终端
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」表示安置胜利
根基配置
安置好 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 一行,凭据前面的注释,删除行前的注释象征 # 即可。
关闭自动更新
留存退出以后,应用以下号令使 Zsh 的配置登时见效:
source ~/.zshrc
配置主题
Oh My Zsh 自带了大批主题文件。你可以执行以下号令查看自带的主题:
ls ~/.oh-my-zsh/themes
对于自带主题的样式和出现结果,你可以前往 Oh My Zsh 的 官方 Wiki 查看。
在这里,我选定应用 agnoster 作为我的主题。我们必要通过编纂 zsh 配置文件来点窜主题:
vim ~/.zshrc
定位到 ZSH_THEME 一行,将双引号中的内容点窜为本人选定的主落款即可。
点窜主落款
留存退出后,执行以下号令使 zsh 的配置登时见效:
source ~/.zshrc
安置 Powerline 字体
主题配置实现后,终端中却出现了乱码的字符:
乱码字符
这是因为我应用的 agnoster 主题中含有分外字符,必要安置 Powerline 字体支持才气平常显示。翻开终端,参考以下号令安置 Powerline 字体:
cd ~/Downloads && git clone https://github.com/powerline/fonts.git#将 Powerline 字体文件下载到「下载」文件夹中
cd fonts && ./install.sh#安置所有 Powerline 字体
cd && rm -rf ~/Downloads/fonts#删除下载的字体文件
随后,我们按 ⌘, 翻开终端偏好配置,在「形貌文件 > 文本」中更改字体。
更改字体选项
在弹出的窗口当选定一款 Powerline 字体(所有可选项请参考 Powerline 的 GitHub 页面),调整一下字体大小即可。在这里我选定了 DejaVu Sans Mono for Powerline 字体(逮虾户!),大小配置为 14 磅。
我的字体配置
此时回到终端,发现表示文件目次的箭头曾经可以平常显示了:
Powerline 字体可以在 agnoster 主题中平常显示
配置终端色彩计划
主题上的配置至此就差未几了,不过 macOS Mojave 默认终端的黑底白字看起来照旧有些不舒适。在这里,我们无妨应用 Solarized 配色计划来进一步粉饰终端。开始,应用以下号令下载 Solarized 配色计划:
cd ~/Downloads && git clone git://github.com/altercation/solarized.git#将配色计划下载到「下载」文件夹中
下载完毕后,我们按 ⌘, 翻开终端偏好配置,点击「形貌文件 > ⚙︎⌄ > 导入」。
导当选项
在弹出的窗口中,定位到 Downloads > solarized > osx-terminal.app-colors-solarized,双击 Solarized Dark ansi.terminal 导入暗色的 Solarized 配色计划。
选定下载好的 Solarized 配色计划
随后,我们在形貌文件当选中 Solarized Dark ansi,点击「默认」将其设为默认配色计划;别忘了把字体改成 Powerline 字体并调整大小。
别忘记改字体
配色细节点窜
重启一下终端,到这里,我们漂亮的终端曾经根基实现了,不过当今的配色让人有些看不清字:
有些看不清字
重度强迫症的我肯定不行接受。是以我们按 ⌘, 翻开终端偏好配置,点击「形貌文件 > Solarized Dark ansi」,对配色进行进一步的自定义。单击你想要更改的色彩,在弹出的小窗口中点选拾色器(像吸管同样的东西)。
拾色器
随后,你可以参考下图把色彩一项一项吸过去。这里我的配置概括了 iTerm 2 的配色和个人的少量点窜。
配色计划参考
另有一项让我不爽的地方 —— 文件目次前那个长长的 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 一行的配置启用插件
我应用的插件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,所有软件都是经过测试的,还素各种素材模板等供你选择。