zsh安装配置

zsh配置好了是很好看的

    1. 安装 zsh

      pacman -S zsh
      pacman -S zsh-completions
    1. 切换shell为zsh
    • 查看现在使用的shell

      chsl -l
    • 设置默认shell为zsh

      chsh -s /bin/zsh
    • 切换为zsh

      zsh
    1. 基础配置
      添加以下到.zshrc

      autoload -Uz compinit promptinit
      compinit
      promptinit
    • 查看自带的主题

      prompt -l

      然后选择一种

      prompt xxx  #xxx为主题名
    1. 我们发现这些主题并不是特别好看,所以安装 0h-my-zsh

      yay -S oh-my-zsh-git
      • 安装这个之后我们就可以选择一种主题了
        例如:

        ZSH_THEME="agnoster"
        • 我们发现并不像下面这么好看

    1. 那是因为没有安装 powerline 这种字体,所以终端就无法显示这些箭头了。

      git clone https://github.com/powerline/fonts.git --depth=1
      cd fonts
      ./install.sh
      
      cd ..
      rm -rf fonts

      重新打开一个终端就可以正常显示了

    1. 然后我们还可以找更多喜欢的 主题
      我比较喜欢 powerlevel9k 这款主题

      sudo pacman -S zsh-theme-powerlevel9k

      设置为终端主题

      echo 'source /usr/share/zsh-theme-powerlevel9k/powerlevel9k.zsh-theme' >> ~/.zshrc

      这样设置之后已经很好看了,不过有些自带的图标显示不了

    1. 下载 Awesome-Terminal Fonts

      pacman -Syu awesome-terminal-fonts

      然后配置一下

    • .zshrc找到设置 powerlevel9k的位置,将下面的配置放到它上面

      POWERLEVEL9K_MODE='awesome-fontconfig'
    1. 重新打开一个新的终端,就可以看到漂亮的主题了
      有关主题更多的配置,就照着这里 设置 好了
  • 9.安装zsh-syntax-highlighting 

     sudo pacman -S zsh-syntax-highlighting

    我的 zsh配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    export TERM="xterm-256color" 
    #common setting
    autoload -Uz compinit promptinit
    compinit
    promptinit
    zstyle ':completion::complete:*' gain-privileges 1
    zstyle ':completion:*' menu select

    #theme setting
    POWERLEVEL9K_MODE='awesome-fontconfig'
    source /usr/share/zsh-theme-powerlevel9k/powerlevel9k.zsh-theme
    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(load dir vcs ssh dir_writable)
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs history newline)
    #use to highlight syntax like fish
    source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

    #highlight man
    man() {
    LESS_TERMCAP_md=$'\e[01;31m' \
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[01;44;33m' \
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \
    command man "$@"
    }

    #user alias
    alias l='ls -lh --color=auto'