介绍
ZSH(Z shell)类似Bash,是被广泛用于类Unix系统的命令行解释器。在具备Bash的基本功能的同时,还扩展了很多功能,同时对插件的支持和高度定制化使其成为了很多Linux用户的最佳选择。经常使用的功能有:自动补全,历史命令,语法高亮等。
powerlevel10K是ZSH的主题之一,但是扩展了一些额外的功能,比如更多信息的显示,运行时间和当前时间的查看等。
通过灵活使用这两个工具,可以在美化你的终端页面的同时提升你的效率。
以下操作默认使用的Ubuntu系统。
ZSH
安装
Ubuntu:
安装zsh
sudo apt install zsh
设置为默认shell
sudo chsh -s /bin/zsh # 为其他用户设置:sudo chsh -s /bin/zsh <username>
安装git
sudo apt install git
安装oh-my-zsh 手动安装:
git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
或 自动安装:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
ZSH设置
通过修改配置文件 ~/.zshrc
可以修改终端设置。
经常使用的设置应该有:
- ZSH_THEME:ZSH主题。
- plugins:ZSH插件。
同时一些希望终端启动时运行的命令也可以放在该文件里,比如conda的启动。
也就是终端加载的时候会运行的命令,也可以
source ~/.zshrc
更新配置文件对终端的设置
插件推荐
sh-completions
这个插件提供了基础的补全功能。目前似乎已经被集成到ZSH项目中。
git clone --depth=1 https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions
zsh-autosuggestions
这个插件可以提供自动补全的功能,比如输入 git
,自动补全为
git status
。
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-autosuggestions
Incremental completion on zsh
mkdir $ZSH_CUSTOM/plugins/incr
curl -fsSL https://mimosa-pudica.net/src/incr-0.2.zsh -o $ZSH_CUSTOM/plugins/incr/incr.zsh
echo 'source $ZSH_CUSTOM/plugins/incr/incr.zsh' >> ~/.zshrc
source ~/.zshrc
zsh-syntax-highlighting
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
powerlevel10K
目前配置的终端可以显示当前的虚拟环境、路径、git情况,以及上个命令的执行时间等。基本需要都被涵盖。这写额外的功能和美化得归功于ZSH主题——powerlevel10K。具体效果图如下所示:
安装
字体
由于会显示一些额外的符号,所以需要安装新的字体。
字体需要在显示终端的设备上安装。比如如果系统在本地,那么在本地安装。如果连接的远程,那么需要在远程上安装ZSH和主题,在本地安装字体。原理不难理解。
字体链接:NerFont 字体链接里有完整的安装教程,可以根据自己的平台进行安装。如果是克隆源码安装的时候注意设置depth,建议从该仓库的releases里选择字体进行安装。 根据平台情况安装然后后设置字体显示即可,一般需要在终端或者编辑器里设置字体选项。考虑到种类较多且教程丰富简单,此处不罗列详细步骤。
Tips:如果设置的是Vscode平台,需要设置整体的字体: Editor:Font Family,单独设置终端字体好像无法正常工作。
主题
使用命令安装到 ~/.oh-my-zsh
目录下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
在 ~/.zshrc
下启动主题:
ZSH_THEME="powerlevel10k/powerlevel10k"
配置
重启终端或者
source ~/.zshrc
切换主题,之后会进入配置界面。(配置完成后也可以使用
p10k configure
重新进入配置向导)
配置向导就是一些问题来判断你的字体情况和个人偏好,然后写入配置文件
~/.p10k.sh
中,大约有十几个问题。
配置向导的详细介绍可以参考:我的终端环境:与众不同的
zsh 主题 - powerlevel10k本文介绍 zsh 主题 powerlevel10k - 掘金
在配置向导完成后,如果需要一些额外的配置。可以修改配置文件
~/.p10k.sh
。 比如,通过修改
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
和
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
可以修改两侧显示的元素以及顺序等。