当前位置: 首页 > news >正文

zsh+Oh My Zsh+Powerlevel10k:打造简洁高效的终端环境

使用 zsh + oh-my-zsh + Powerlevel10k 打造美观高效的终端

1. 安装 zsh 和 oh-my-zsh

  1. 安装 zsh(Ubuntu/Debian 系)
    sudo apt install zsh
    
  2. 安装 oh-my-zsh
    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    
  3. 可选:设置 zsh 为默认 Shell
    chsh -s /usr/bin/zsh
    
    或者重启终端并在提示中选择 zsh。注:Linux系统需要注销重新登录才会默认zsh。

2. zsh 终端美化

2.1 参考学习资料

  • 视频教程(Bilibili):
    Zsh 终端美化视频

  • Powerlevel10k GitHub 仓库
    romkatv/powerlevel10k

2.2 安装 Powerlevel10k 主题

  1. 克隆项目到本地
    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
    
  2. 加载主题
    ~/.zshrc 文件末尾加入:
    echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
    
  3. 重启 zsh 并配置
    exec zsh
    
    • 终端会进入 Powerlevel10k 配置向导,选择喜好的配色、图标样式等。
  4. 随时重新配置
    • 如果想回到最初向导、重新对 Powerlevel10k 进行配置,可以执行:
      p10k configure
      
    • 按需修改主题样式与功能。

3. 安装并启用 Nerd 字体(Linux 下)

3.1 下载字体

  • 前往 Powerlevel10k 字体链接 下载 MesloLGS NF 或其他所需的 Nerd 字体。

3.2 安装字体

  1. 复制字体文件
    将下载好的 .ttf 文件放到个人字体目录:
    mkdir -p ~/.local/share/fonts
    cp ~/Downloads/*.ttf ~/.local/share/fonts/
    
    或者将字体复制到系统字体目录(需要管理员权限):
    sudo cp ~/Downloads/*.ttf /usr/share/fonts/
    
  2. 刷新字体缓存
    fc-cache -fv
    
  3. 验证安装
    通过以下命令查看安装的字体是否能被系统识别:
    fc-list | grep "MesloLGS"
    
    若能输出字体路径,说明安装成功。

3.3 选择并启用字体

  • 如果你使用 GNOMEKDE 等桌面环境,可在 “设置” → “字体” 中为终端应用指定刚安装的 Nerd 字体。
  • 如果你使用 其他终端模拟器(如 Terminator、Tilix、Alacritty、Konsole 等),通常可以在其「Preferences」→「Profile」→「Font」中选择 “MesloLGS NF”
  • 在纯命令行环境中,则需要使用类似 setfont 或更新终端配置文件的方式(不同终端模拟器略有不同)。

4. 在 VSCode 中使用 zsh 和 Nerd 字体

  1. 设置 zsh 为默认终端

    1. 打开 VSCode,进入 设置(Settings)。
    2. 搜索:
      terminal.integrated.defaultProfile.linux
      
    3. 找到 Terminal > Integrated > Default Profile: Linux,将其更改为 zsh
    4. 新建终端时即可默认使用 zsh。
  2. 设置 VSCode 终端字体

    1. 在设置搜索栏输入:
      terminal.integrated.fontFamily
      
    2. 将其设置为刚安装好的 Nerd 字体名称。例如:
      "terminal.integrated.fontFamily": "MesloLGS NF"
      
    3. 重启 VSCode,使新字体生效。

5. 常用插件:zsh-autosuggestions 与 zsh-syntax-highlighting

5.1 安装 zsh-autosuggestions

该插件会根据历史命令实时联想并提示后续可能的输入,极大提高敲命令效率。

  1. 克隆仓库
    git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    
    其中 $ZSH_CUSTOM 一般为 ~/.oh-my-zsh/custom,可根据实际情况调整路径。
  2. 启用插件
    • 打开并编辑 ~/.zshrc,在 plugins=(...) 中加入 zsh-autosuggestions,例如:
      plugins=(git zsh-autosuggestions)
      
    • 保存后执行:
      source ~/.zshrc
      
    • 之后,你敲命令时就能看到灰色提示,按 → 或 End 等键接收补全。

5.2 安装 zsh-syntax-highlighting

该插件为当前正在输入的命令提供语法高亮,便于及时发现拼写或路径错误。

  1. 克隆仓库
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
    
  2. 启用插件
    • 同样在 ~/.zshrcplugins=(...) 中加入 zsh-syntax-highlighting
      plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
      
    • 必须在 source ~/.oh-my-zsh.sh 之后 额外加一行:
      source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
      
      这样才可正常工作。
    • 保存并 source ~/.zshrc 使之生效。

6. 处理 Docker 补全报错

如果在执行 source ~/.zshrc 时,出现如下错误:

compinit:503: no such file or directory: /usr/share/zsh/vendor-completions/_docker

这通常是 系统级 zsh 配置或残留文件 在尝试加载 Docker 的补全脚本 _docker,但文件并不存在。

解决方法:

  1. 查找并删除无效引用
    • 检查 /usr/share/zsh/vendor-completions/ 目录下是否有 _docker(或其符号链接),但对应文件为空或已经不存在。
    • 若不需要 Docker 补全,可直接删除(或重命名)该文件/链接:
      sudo rm /usr/share/zsh/vendor-completions/*docker
      
    • 然后重新加载 zsh:
      source ~/.zshrc
      
  2. 若需要 Docker 补全
    • 请先安装 Docker,确保对应的补全脚本随包安装正确;或者从官方仓库下载 _docker 补全文件放置到 /usr/share/zsh/vendor-completions/
    • 确保该文件路径与配置匹配。

通过以上方式,可排除重复或失效的 _docker 补全引用,避免无关的报错。


7. 小结

  1. zsh + oh-my-zsh:带来强大的自动补全、插件支持和灵活的配置。
  2. Powerlevel10k:提供炫酷美观的主题,可通过 p10k configure 反复定制。
  3. Nerd 字体:解决图标缺失或乱码问题,正确安装后,在终端/VSCode 中启用使图标完整显示。
  4. zsh-autosuggestions & zsh-syntax-highlighting:常用插件,提供自动联想与语法高亮,极大提升输入效率与准确度。
  5. Docker 补全报错:通常是系统残留或全局设置导致,删除无效引用或正确安装 Docker 补全即可解决。
  6. VSCode 终端:通过设置默认 Shell 和字体,可在开发环境中始终享受统一的美观与功能。

至此,你的 Linux 终端已完成从 zsh 到 Powerlevel10k 的华丽升级,并拥有更多插件加持,祝你愉快享受全新的视觉体验与操作效率!


http://www.mrgr.cn/news/93424.html

相关文章:

  • 为AI聊天工具添加一个知识系统 之138 设计重审 之2 文章学 引言之2 附加符号学附属诠释学附随工程学(联系)
  • 【芯片设计】处理器芯片大厂前端设计工程师面试记录·20250307
  • Spring实战spring-ai运行
  • 7. 机器人记录数据集(具身智能机器人套件)
  • IDEA 2024.1.7 Java EE 无框架配置servlet
  • 【芯片设计】AI芯片前端设计工程师面试记录·20250303
  • 解锁最新专业版005,内置序列免安装!
  • SELECT ... FOR UPDATE 加锁后,其他线程能读取数据吗
  • 自然邻居搜索算法(NaN-Searching)
  • RabbitMQ知识点
  • 8. 机器人模型训练与评估(具身智能机器人套件)
  • K8s 1.27.1 实战系列(三)安装网络插件
  • AI 编译器学习笔记之十六 -- TVM
  • 基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践
  • qt作业day5
  • 计算机网络笔记(一)——1.1计算机网络在信息时代中的作用
  • Android项目优化同步速度
  • 【办公类-99-03】养老护理初级考题抽取(2套大题抽1+7小套题抽2——共有42种可能)
  • TDengine SQL查询语法
  • MuBlE:为机器人操作任务规划提供了逼真的视觉观察和精确的物理建模