Zsh

Z shell 是一款可用作交互式登录的 shell 及脚本编写的命令解释器,Zsh 对 Bourne shell 做出了大量改进,同时加入了 Bash、ksh 及 tcsh 的某些功能。(维基百科)

安装 zsh

zsh

1
apt install zsh

查看路径

1
which zsh

设置为默认shell

1
chsh -s /usr/bin/zsh

安装 oh my zsh

oh my zsh

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

确保可以正常访问github,否则打开终端时omz的自动更新可能会卡住

解决无法自动更新的问题

有三种解决方式:

  1. 关闭自动更新

    ~/.zshrc中取消注释这一行:

    zstyle ':omz:update' mode disabled

  2. 修改更新地址

    cd ~/.oh-my-zsh

    git remote set-url origin https://gitee.com/mirrors/oh-my-zsh.git

  3. 为git配置代理

    git config --global http.proxy 'socks5://{ip}:{port}'

    git config --global https.proxy 'socks5://{ip}:{port}'

配置主题

~/.on-my-zsh/themes下存放着许多主题文件,可以通过修改~/.zshrc里的ZSH_THEME=""来设置

如果设置为random,每次打开终端都会使用随机的主题

robbyrussell

robbyrussell

agnoster

agnoster

另行安装 Powerlevel10k 主题

Powerlevel10k

需要使用 MesloLGS NF 字体

安装主题

1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

~/.zshrc中设置ZSH_THEME="powerlevel10k/powerlevel10k"然后重启终端

首次使用会自动进入配置程序,以后也可以运行p10k configure重新配置主题,

安装插件

命令补全

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

激活插件:

~/.zshrc文件找到plugins=(),在其中添加zsh-autosuggestions,重启终端


语法高亮

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

激活插件:

~/.zshrc文件找到plugins=(),在其中添加zsh-syntax-highlighting,重启终端


自动跳转

有时需要进入一个比较深的目录,比如/home/user/mail/inbox,cd进去是比较麻烦的

autojump插件可以记录访问过的目录,只需输入 j 关键词 回车,就能跳转到以前访问过的包含该关键词的目录

如果安装了图形界面,还可以用jo 关键词,在文件管理器中打开

  • 手动安装

    git clone git://github.com/wting/autojump.git

    cd autojump

    ./install.py

    然后根据输出的内容编辑~/.zshrc

  • 包管理器安装

    Debian系安装autojump,RedHat系安装autojump-zsh

    Debian系还要根据/usr/share/doc/autojump/README.Debian的内容配置~/.zshrc

完成后开启新终端,使用autojump -h验证是否生效