zsh+powerlevel10K优化终端使用体验

文章目录
  1. 1. 介绍
  2. 2. ZSH
    1. 2.1. 安装
    2. 2.2. ZSH设置
    3. 2.3. 插件推荐
      1. 2.3.1. sh-completions
      2. 2.3.2. zsh-autosuggestions
      3. 2.3.3. Incremental completion on zsh
      4. 2.3.4. zsh-syntax-highlighting
  3. 3. powerlevel10K
    1. 3.1. 安装
      1. 3.1.1. 字体
      2. 3.1.2. 主题
    2. 3.2. 配置
  4. 4. 参考资料

介绍

ZSH(Z shell)类似Bash,是被广泛用于类Unix系统的命令行解释器。在具备Bash的基本功能的同时,还扩展了很多功能,同时对插件的支持和高度定制化使其成为了很多Linux用户的最佳选择。经常使用的功能有:自动补全,历史命令,语法高亮等。

powerlevel10K是ZSH的主题之一,但是扩展了一些额外的功能,比如更多信息的显示,运行时间和当前时间的查看等。

通过灵活使用这两个工具,可以在美化你的终端页面的同时提升你的效率。

以下操作默认使用的Ubuntu系统。

ZSH

安装

Ubuntu:

  • 安装zsh

    1
    sudo apt install zsh
  • 设置为默认shell

    1
    2
    sudo chsh -s /bin/zsh
    # 为其他用户设置:sudo chsh -s /bin/zsh <username>
  • 安装git

    1
    sudo apt install git
  • 安装oh-my-zsh 手动安装:

    1
    2
    git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
    cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

    或 自动安装:

    1
    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项目中。

1
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

1
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

1
2
3
4
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

1
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目录下:

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

~/.zshrc下启动主题:

1
ZSH_THEME="powerlevel10k/powerlevel10k"

配置

重启终端或者 source ~/.zshrc切换主题,之后会进入配置界面。(配置完成后也可以使用 p10k configure重新进入配置向导) 配置向导就是一些问题来判断你的字体情况和个人偏好,然后写入配置文件 ~/.p10k.sh中,大约有十几个问题。 配置向导的详细介绍可以参考:我的终端环境:与众不同的 zsh 主题 - powerlevel10k本文介绍 zsh 主题 powerlevel10k - 掘金 在配置向导完成后,如果需要一些额外的配置。可以修改配置文件 ~/.p10k.sh。 比如,通过修改 POWERLEVEL9K_LEFT_PROMPT_ELEMENTSPOWERLEVEL9K_RIGHT_PROMPT_ELEMENTS可以修改两侧显示的元素以及顺序等。

参考资料

由于评论系统依托于Github的Discuss存在,因此默认评论者会收到所有通知。可以在邮件里点击"unsubscribe"停止接受,后续也可以点击下列仓库进行通知管理: bg51717/Hexo-Blogs-comments
Since the comment system relies on GitHub's Discussions feature, by default, commentators will receive all notifications. You can click "unsubscribe" in the email to stop receiving them, and you can also manage your notifications by clicking on the following repositories: bg51717/Hexo-Blogs-comments