记一次 Mac 下的 Oh My Zsh! 配置过程
in with 1 comment

记一次 Mac 下的 Oh My Zsh! 配置过程

in with 1 comment

又一次在熄灯后被室友吐槽开着终端的屏幕太过刺眼,考虑了一下,白底黑字对眼睛的确不是很友好,加之早就想尝试一下大名鼎鼎的『Oh My Zsh!』,于是花了一点时间稍微调整了一下自己的终端,谨在此记录之。

切换默认 shell 为 zsh

由于我使用的是 MacOS,系统已经内置了zsh,所以无需 安装,只要将其设置为默认的 shell 即可。

cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

可以看到,内置的 zsh 路径为 /bin/zsh 。接下来使用下面的代码将之设置默认 shell 。

chsh -s /bin/zsh

安装Oh My Zsh!

安装很简单,Oh My Zsh!(下面简称 omz )官网给出了一键安装方式,只要你已经安装了 git ,执行下面的代码即可:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
#或者也可以使用wget获取脚本(二选一即可)
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

修改终端配色

  1. 我个人比较钟情于 solarized-light 这款配色,于是直接在官网下载最新的配色包(点我跳转)并解压。
  2. 由于本人使用的是Mac的内置终端(Terminal.app),所以直接进入 solarized/osx-terminal.app-colors-solarized/ 文件夹,双击 Solarized Light ansi.terminal 文件,即可在偏好设置中找到 Solarized Light ,然后将之设为默认即可。

修改 omz 主题

omz安装时已经自带多款主题,与 Solarized 配色比较搭配的是 agnoster ,但是它是和 Solarized Dark 所搭配,而不是 light 配色。故而从 git 上找到了另一份别人发布的配色, agnoster-light.zsh-theme 。执行下列代码,将此主题下载到本地。

cd ~/.oh-my-zsh/themes/
curl https://gist.githubusercontent.com/zoomix/3827269/raw/e2563ab4cd903ef37e54313645a63001a09d95be/agnoster-light.zsh-theme > agnoster-light.zsh-theme

接下来使用文本编辑器,修改 ~/.zshrc 内的 ZSH_THEME 字段为 agnoster-light ,重启终端即可。

字体修改

由于箭头等效果需要特殊字体支持,否则会显示会乱码,所以使用下列代码安装相关的一系列字体

git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh

当全部字体文件拷贝完毕后会提示安装成功,此时去终端的偏好设置内修改为自己喜欢的字体 (Powerline)即可。

我本人更喜欢 Monaco 字体,而上述的项目并不包含修改过的 Monaco ,所以我是从另一个仓库自己下载字体文件后手动安装的。具体参见: Monaco for Powerline.md

隐藏用户与主机信息

为了让终端更加简洁,我选择直接隐藏了用户名以及主机名。这一操作很简单,直接编辑 agnoster-light.zsh-theme 文件,找到下列代码

prompt_context() {
  local user=`whoami`

  if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment blue white "%(!.%{%F{yellow}%}.)$user@%m"
  fi
}

从中注释掉 prompt_segment blue white "%(!.%{%F{yellow}%}.)$user@%m" 这一行即可。

最终效果图

请输入图片描述

Responses
  1. 个人还是喜欢candy主题

    Reply