Content Table

Mac Terminal Powerline-Shell

可以给 Mac 的终端设置很酷的效果,还能显示 Git 的不同状态:

实现步骤:

  1. 安装 iTerm
  2. 使用 zsh: chsh -s /bin/zsh

    Mac 已经自带,也可以使用 brew 安装更新版的:

    1. brew install zsh
    2. .zshrc 中设置 PATH: export PATH="/usr/local/bin:$PATH"
    3. /etc/shells 的最前面增加 /usr/local/bin/zsh
    4. chsh -s /usr/local/bin/zsh
  3. 安装 oh-my-zsh (会自动生成 ~/.zshrc 文件,安装插件简单、自带很多插件):

    1
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  4. 安装 oh-my-zsh 的语法高亮和自动提示插件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

    ~/.zshrc 中使用插件:
    plugins=(
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
    )
  5. 安装主题 powerlevel10k:

    • 访问 https://github.com/romkatv/powerlevel10k#oh-my-zsh 查看说明:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

      ~/.zshrc 中使用主题:
      ZSH_THEME="powerlevel10k/powerlevel10k"

      POWERLEVEL9K_MODE='nerdfont-complete'
      POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon ssh dir status)
      POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
      POWERLEVEL9K_HOME_SUB_ICON='\uF015'
      POWERLEVEL9K_FOLDER_ICON='\uF109'
      POWERLEVEL9K_STATUS_CROSS=true
      POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
      # POWERLEVEL9K_DIR_PATH_SEPARATOR="%F{black} "$'\uE0B1'" %F{black}"

      图标是使用 UTF-8 的编码进行设置的,怎么知道某个图标的 UTF-8 是什么呢?打开 ~/.oh-my-zsh/custom/themes/powerlevel10k/functions/icons.zsh 看一下就明白了。

    • 安装字体 font-hack-nerd-font:

      1
      2
      brew tap caskroom/fonts
      brew cask install font-hack-nerd-font
    • iTerm 中选择字体 Hack Nerd Font,大小为 16

  6. 下载 iTerm 的配色方案,先导入,然后选择 Atom,就可以得到文章开头的效果了

上面的效果虽然很炫,不排除用多了想用个简单些,还有很多主题可供选择,例如 Pi 就很不错:

除了 oh-my-zsh 提供的主题和插件外,有兴趣的还可以看看 awesome-zsh-plugins,这里也收集了很多主题和插件。