← back

优化Shell

使用zsh替换bash,并配置相关插件和字体,可使shell变得更加美观且高效

为什么要优化Shell

ubuntu系统一般默认的shell为bash,其已可以满足所有使用需求,但是一个优化后的shell可以在兼容原来所有功能的前提下兼具如下优点

ZSH & Zinit

ZSH是一个与Bash类似的shell解释器,Zinit是一个基于ZSH的插件,所以Zinit必须搭配ZSH才可使用。ZSH的最大优点是有众多与之相关的插件,Zinit的最大优点是在同样插件配置下,其启动速度一枝独秀,想了解更多请参考其wiki

Install

ZSH Install And Change Default Shell

更改默认shell后,需要注销账户重新登录或者重启方可生效(此处无需此操作,Zinit脚本会解决此问题)

sudo apt install -y zsh && chsh -s /bin/zsh

Zinit Install

需科学上网或者github连接情况较佳,仅推荐采用Zinit github中的自动安装脚本,详情参考here

bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"

Config Plugins

zsh坐拥开源社区的众多插件是其如此成功的重要原因,而通过Zint的集成功能可能帮助我们更加方便的安装这些插件。仅需将插件名称以符合zinit格式需求加入.zshrc文件夹中,Zinit便可在启动新的zsh shell时自动检测该插件是否安装,如果安装过则启用,如果未安装则立刻安装。如下是几个个人常用插件

# Load powerlevel10k theme
zinit ice depth"1" # git clone depth
zinit light romkatv/powerlevel10k # 集速度、美观、个性为一体的zsh theme

# Two regular plugins loaded without investigating.
zinit light zsh-users/zsh-autosuggestions # 记住历史操作并在再次输入类似指令时给予提示
zinit light zdharma/fast-syntax-highlighting # 语法高亮

# oh my zsh cp plugin
zinit snippet OMZP::cp # copy插件,可以显示进度条 注意,使用的是cpv
  1. 将上述插件加入.zshrc
  2. 重开一个terminal,按照提示进行自己喜欢的样式配置