ubuntu美化教程2-美化并增强linux的终端功能

效果图

这是配置好之后的效果图
可以看出,它不仅有自动提示功能,还可以显示出时间、系统信息等,甚至还可以显示你的git文件的状态(有几个在暂存区、几个还没同步等等)。我的安装由元神的博客和网上的资料整合而成。

安装要求

  1. linux操作系统,我用的是ubuntu22.04版本。
  2. 需要电脑上装有git、vim和curl,否则使用指令安装。
    1
    2
    3
    sudo apt install git
    sudo apt install vim
    sudo apt install curl
  3. 需要VPN或者使用镜像网站。

步骤

更换linux字体

首先我们需要安装Hack Nerd Fonts,这是适配powerlevel10k的字体,安装时间可能会在5分钟左右。

1
2
3
4
5
git clone https://github.com/ryanoasis/nerd-fonts.git
cd nerd-fonts
chmod +x install.sh # 给执行权限
./install.sh # 安装字体
reboot # 重启系统

接下来打开终端,找到右上角三个点,点开并选择配置文件首选项,再点击未命名,在自定义字体这一栏找到Hack Nerd Fonts字体并选择。

安装zshell

  1. 用apt安装zsh,检查它的可用性。
    1
    2
    sudo apt install zsh
    cat /etc/shells # 输出里面有/usr/bin/zsh
  2. 用curl安装oh-my-zsh,并修改默认shell为zsh。
    1
    2
    3
    4
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    chsh -s /bin/zsh # 修改默认shell
    reboot # 重启系统以加载修改
    echo $SHELL # 输出为/bin/zsh则修改成功

安装并配置powerlevel10k

  1. 下载powerlevel10k
    1
    git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
  2. 更改主题为powerlevel10k
    1
    vim ~/.zshrc
    找到ZSH_THEME="robbyrussell"这一行,将其注释掉并加上
    1
    2
    ZSH_THEME="powerlevel10k/powerlevel10k"
    POWERLEVEL9K_MODE="awesome-patched"
    如果有修改点不动的情况,建议学习一下vim的基础操作。
    退出修改,执行
    1
    source ~/.zshrc # 使配置生效
    接下来便会进入引导配置环节。如果没有进入引导配置或是配置好以后想重新配置的,输入下列命令:
    1
    p10k configure
    配置的具体选择见资料,里面有每个问题详细的解释。

安装插件

从github上下载两个插件zsh-autosuggestionszsh-syntax-highlighting,分别用于自动补全和自动高亮。

1
2
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

接下来通过修改.zshrc来配置插件,和上面一样,输入vim ~/.zshrc,找到plugins=(git)这一行,将其修改。

1
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

再执行source ~/.zshrc来同步配置就可以了!

插件使用以及小提示

  • 当你输入执行过的命令时,zsh会以灰色提示你,按ctrl+f可自动补全。

  • 如果在别的要使用命令行的应用(比如vscode)里,要把字体都改成Hack Nerd Fonts

  • 如果已经在~/.bashrc中配置了一些环境变量,记得把它们都复制到~/.zshrc中。否则某一天你会发现:conda不见了!cuda不见了!

  • 由于zsh使用了globbing character,即特殊通配符的语法,因此在执行某些指令的时候会提示command not found。下面列出了一些基本语法和一个例子。

    字符 解释
    * 匹配任意长度任意字符
    ? 匹配任意单个字符
    [list] 匹配指定范围内(list)任意单个字符,也可以是单个字符组成的集合
    [^list][!list] 匹配指定范围外的任意单个字符或字符集合

    我在复现这个代码的时候,装环境用的指令

    1
    pip install magic-pdf[full-cpu]

    zsh找不到,究其原因是[]匹配了globbing语法。
    有好几种解决方式:

    • 把含有特殊的符号(*?[])的语句用双引号或单引号括起来,比如这样:
      1
      pip install "magic-pdf[full-cpu]"
    • 在运行指令之前用setopt no_nomatch来关闭globbing语法。
      1
      2
      setopt no_nomatch
      pip install magic-pdf[full-cpu]

    这里只是粗略的说一下,关于双引号和单引号的使用还有一些要求,详细的介绍请见这里


ubuntu美化教程2-美化并增强linux的终端功能
https://kingdom-of-warriors.github.io/2024/07/28/美化并增强linux的终端功能/
作者
Rayy
发布于
2024年7月28日
许可协议