zsh

使用 zsh 一个更好用的终端

介绍在 ubuntu 上 zsh 的安装和使用

Posted by Jerry Chen on January 27, 2021

安装 zsh

1
sudo apt-get install zsh

使用 on-my-zsh 进行初步配置

OhMyZsh官网

  • 方法一:通过 curl 下载脚本并执行

    1
    
    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    
  • 方法二:通过 wget 下载脚本并执行

    1
    
    sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
    

如果遇到下载不成功的情况,请打开 IPAddress.com,在搜索框输入 raw.github.com,把最新的 IP,添加到 hosts,如:

1
199.232.96.133	raw.github.com

脚本执行完成后,会提示切换 shell 为 zsh,输入 y 即可;

你也可以手动切换(重新登录生效):

1
chsh -s `which zsh`

更改 zsh 主题

尝试 Oh My Zsh 自带主题

  1. 修改 .zshrc 中使用的主题

    1
    
    vi ~/.zshrc
    

    修改其中的 ZSH_THEME 字段,如:

    ZSH_THEME="robbyrussell"ZSH_THEME="ys"ZSH_THEME="random"

  2. 刷新 .zshrc 生效

    1
    
    source ~/.zshrc
    

[建议] 使用 powerlevel10k 主题

  1. 下载主题

    1
    2
    3
    4
    5
    
    # 从 github 下载
    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
       
    # 从 gitee 下载
    git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    
  2. 修改 .zshrc 中使用的主题

    1
    
    vi ~/.zshrc
    

    修改其中的 ZSH_THEME 字段:ZSH_THEME="powerlevel10k/powerlevel10k"

  3. 刷新 .zshrc 生效

    1
    
    source ~/.zshrc
    

zsh 别名

  1. 添加别名到 .zshrc 最后面,一种是使用 alias,一种是使用函数;

    bash 是添加到 .bashrc 最后面;

    1
    2
    3
    4
    5
    
    # alias 方式
    alias psa="ps aux"
       
    # 函数方式
    psg() { ps aux | grep $1 | grep -v grep | grep -v "ps aux" }
    
  2. 刷新 .zshrc 生效

    1
    
    source ~/.zshrc
    

zsh 插件

这里提供少量示例,需要更多信息请百度“oh my zsh 插件”

自动补全插件 zsh-autosuggestions

  1. 下载插件到 zsh 插件目录

    1
    
    git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    
  2. 编辑 .zshrc 文件,修改 plugins 字段

    1
    
    vi ~/.zshrc
    

    默认已经有 git 插件了,内容如右:plugins=(git)

    增加插件名称即可,最终更改为:

    1
    
    plugins=(git zsh-autosuggestions)
    
  3. 刷新 .zshrc 生效

    1
    
    source ~/.zshrc
    

问题解决

升级 wsl2 后端 docker 后 zsh 启动有警告

启动警告如下:

1
compinit:xxx: no such file or directory: /usr/local/share/zsh/site-functions/_docker-machine

解决办法:

1
2
mkdir -p ~/.zsh/completion
curl https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/zsh/_docker-machine > ~/.zsh/completion/_docker-machine