文章

自定义终端主题

安装Oh-my-zsh

  1. 使用zsh作为终端shell程序, 可以通过命令设置:
    1
    
      chsh -s /bin/zsh
    
  2. 安装Oh-my-zsh:
    1
    
      sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
  3. 安装Powerline, 一款状态栏工具, 可以梅花终端和vim界面.
    1
    
      pip install powerline-status
    
  4. 安装Powerline的字体库, 依次运行命令:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
      # clone
      git clone https://github.com/powerline/fonts.git --depth=1
      # or use gitee mirror when git is unable to access
      git clone https://gitee.com/nestalk/fonts.git --depth=1
      # install
      cd fonts
      ./install.sh
      # clean-up a bit
      cd ..
      rm -rf fonts
    
  5. 更换字体, 在终端, vscode中修改终端的字体为Meslo LG
    • 终端: 设置 -> 描述文件 -> 文本 -> 字体
    • VSCODE: cmd+shift+p -> settings.json:
      1
      2
      3
      
      {
       "editor.fontFamily": "Menlo, Monaco, 'Courier New', monospace, 'Meslo LG'"
      }
      

      事实上vscode不修改字体也没太大问题, 改了有时候反倒不舒服. 如果存在乱码可以通过自定义主题替换一下乱码字符.

设置ohmyzsh主题

oh-my-zsh内置了很多主题, 保存在目录~/.oh-my-zsh/themes下.

也可以访问github 主题页获取更多主题.

额外的社区主题仓库

通过vim ~/.zshrc命令修改配置文件, 可以指定主题等.

设置语法高亮

安装zsh-syntax-highlighting插件.

1
brew install zsh-syntax-highlighting

在Mac上配置语法高亮插件:

1
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

不同系统配置有所区别, 具体可参照插件文档

添加代码补全插件

提供模糊代码补全的插件zsh-completions.

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

~/.zshrc文件中添加插件

1
2
3
4
plugins=(   
    # other plugins...
    zsh-completions
)

添加历史命令补全插件

通过历史命令自动补全的插件zsh-autosuggestions.

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

同样在~/.zshrc文件中添加插件:

1
2
3
4
plugins=( 
    # other plugins...
    zsh-autosuggestions
)

自定义主题

折腾了不断实践, 最终结果还算满意, 基于内置的agnoster重新做了一下自定义.

在Mac终端的最终显示效果如下:

preview

  • : 表示默认用户在本机登录, 如果通过如果
  • : 表示文件路径, 就是个装饰
  • : git默认前缀, 会根据仓库状态有所改变
  • 红色部分代表处于虚拟环境下.

为了使主题的一些配置生效, 需要在./zshrc文件中配置两个变量

1
2
DEFAULT_USER="your name"
VIRTUAL_ENV_DISABLE_PROMPT=false

之后复制一份内置主题的文件, 并在其基础上自由发挥了, 至于主题的改法, 基本都是搜索加试错扣出来的.

反正做好一次以后也就不用再折腾了, 时间也算花的值得.

完成之后把主题的配置文件备份在gitee仓库, 以后也就走不丢了.

本文由作者按照 CC BY 4.0 进行授权