【终端美化】Ubuntu 下 Zsh 与 Oh-My-Zsh 美化与插件配置指南

目录

  • [1. 检查是否已安装 zsh](#1. 检查是否已安装 zsh)
  • [2. 安装 zsh](#2. 安装 zsh)
  • [3. 设置 zsh 为默认 Shell](#3. 设置 zsh 为默认 Shell)
  • [4. 安装 oh-my-zsh](#4. 安装 oh-my-zsh)
    • [4.1 使用 curl 安装](#4.1 使用 curl 安装)
    • [4.2 使用 wget 安装(如果 curl 不可用)](#4.2 使用 wget 安装(如果 curl 不可用))
    • [4.3 迁移 Bash 自定义配置到 Zsh](#4.3 迁移 Bash 自定义配置到 Zsh)
  • [5. 配置和美化 oh-my-zsh](#5. 配置和美化 oh-my-zsh)
    • [5.1 更换主题](#5.1 更换主题)
    • [5.2 安装插件](#5.2 安装插件)
    • [5.3 安装 Powerlevel10k 主题](#5.3 安装 Powerlevel10k 主题)
  • [6. 安装字体以支持主题](#6. 安装字体以支持主题)
    • [6.1 安装 Nerd Fonts](#6.1 安装 Nerd Fonts)
    • [6.2 手动安装](#6.2 手动安装)
    • [6.3 配置终端字体](#6.3 配置终端字体)
    • [6.4 z 插件](#6.4 z 插件)
      • [1. 启用 z 插件](#1. 启用 z 插件)
      • [2. 使用 z 插件](#2. 使用 z 插件)
        • [2.1 初次使用](#2.1 初次使用)
        • [2.2 快速跳转](#2.2 快速跳转)
      • [3. 高级用法](#3. 高级用法)
        • [3.1 模糊匹配](#3.1 模糊匹配)
        • [3.2 显示匹配的目录列表](#3.2 显示匹配的目录列表)
        • [3.3 权重机制](#3.3 权重机制)
      • [4. 常见问题](#4. 常见问题)
      • [`extract` 插件](#extract 插件)
      • [1. 启用 `extract` 插件](#1. 启用 extract 插件)
      • [2. 使用 `extract` 插件](#2. 使用 extract 插件)
      • [3. `web-search` 插件](#3. web-search 插件)

基于 Ubuntu22.04 LTS 系统,安装 zsh,并使用 oh-my-zsh 对终端进行美化。

1. 检查是否已安装 zsh

在终端中运行以下命令以检查是否已安装 zsh:

bash 复制代码
zsh --version

如果显示版本号,说明已安装。如果未安装,请执行下一步。


2. 安装 zsh

运行以下命令安装 zsh:

bash 复制代码
sudo apt update
sudo apt install zsh -y

安装完成后再次检查版本:

bash 复制代码
zsh --version

3. 设置 zsh 为默认 Shell

执行以下命令将 zsh 设置为默认 Shell:

bash 复制代码
chsh -s /bin/zsh

注意: 执行后需要注销当前用户或重新启动系统以应用更改。


4. 安装 oh-my-zsh

oh-my-zsh 是一个流行的 zsh 配置框架,可以大大提升 zsh 的功能和外观。

4.1 使用 curl 安装

运行以下命令安装 oh-my-zsh:

bash 复制代码
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

如果没有 curl,可以通过以下命令安装:

bash 复制代码
sudo apt install curl -y

4.2 使用 wget 安装(如果 curl 不可用)

bash 复制代码
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

安装完成后,终端会自动切换到 oh-my-zsh 配置的 zsh 环境。

4.3 迁移 Bash 自定义配置到 Zsh

当从 Bash 切换到 Zsh 时,如果你之前在 Bash 中定义了一些环境变量、别名或函数,那么需要手动迁移这些配置到 Zsh 才能继续使用。

打开Files并显示隐藏文件

  1. 桌边栏打开Files。
  2. 按下快捷键 Ctrl+H
  3. 找到以下两个配置文件:
    • ~/.bashrc(Bash 的配置文件)
    • ~/.zshrc(Zsh 的配置文件)

复制需要的配置内容

  1. 双击打开 ~/.bashrc,找到你定义的环境变量、别名或函数。
  2. 选中所需的部分内容,右键选择 "复制"

粘贴到 Zsh 配置文件

  1. 双击打开 ~/.zshrc
  2. 在适当位置(例如文件末尾)右键选择 "粘贴"
  3. 根据需要整理格式,确保粘贴的内容与 Zsh 配置文件风格一致。

示例:从 Bash 文件中迁移的内容

bash 复制代码
# 从 .bashrc 中复制的环境变量
export PATH="$HOME/bin:$PATH"
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

# 从 .bashrc 中复制的别名
alias ll='ls -la'
alias gs='git status'

# 从 .bashrc 中复制的函数
mkcd() {
  mkdir -p "$1" && cd "$1"
}

保存并关闭文件


应用 Zsh 配置

编辑完成后,回到终端,运行以下命令加载新配置:

bash 复制代码
source ~/.zshrc

5. 配置和美化 oh-my-zsh

5.1 更换主题

oh-my-zsh 默认使用 robbyrussell 主题。可以通过以下步骤更改主题:

  1. 打开配置文件:

    bash 复制代码
    nano ~/.zshrc
  2. 找到以下行并修改 ZSH_THEME

    bash 复制代码
    ZSH_THEME="haoomz"  # 示例主题
  3. 保存并退出(按 Ctrl+O 保存,Ctrl+X 退出)。

  4. 应用更改:

    bash 复制代码
    source ~/.zshrc

5.2 安装插件

oh-my-zsh 提供了多种插件,例如自动补全和语法高亮。

  1. 打开配置文件:

    bash 复制代码
    nano ~/.zshrc
  2. 找到 plugins=(),添加插件名称,例如:

    bash 复制代码
    plugins=(git z zsh-autosuggestions zsh-syntax-highlighting)
  3. 保存并退出。

  4. 安装所需插件:

    • zsh-autosuggestions

      bash 复制代码
      git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
    • zsh-syntax-highlighting

      bash 复制代码
      git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
  5. 应用更改:

    bash 复制代码
    source ~/.zshrc

5.3 安装 Powerlevel10k 主题

  1. 克隆 Powerlevel10k 仓库:

    bash 复制代码
    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
  2. 修改主题设置:

    bash 复制代码
    nano ~/.zshrc

    ZSH_THEME 修改为:

    bash 复制代码
    ZSH_THEME="powerlevel10k/powerlevel10k"
  3. 保存并退出,然后应用更改:

    bash 复制代码
    source ~/.zshrc
  4. 重新打开终端,Powerlevel10k 会自动启动配置向导,按照提示完成配置。


6. 安装字体以支持主题

Powerlevel10k 等主题需要安装 Nerd Fonts 或 Powerline Fonts。

6.1 安装 Nerd Fonts

运行以下命令安装 Hack Nerd Font

bash 复制代码
sudo apt install fonts-hack-ttf -y

6.2 手动安装

访问 Nerd Fonts 官方下载页面,下载字体并安装。

6.3 配置终端字体

  1. 打开终端设置。
  2. 找到"外观"或"字体"选项。
  3. 更改字体为安装的 Nerd Fonts(例如 Hack Nerd Font)。

6.4 z 插件

z 是 oh-my-zsh 内置的一个文件夹快捷跳转插件,用于快速导航你访问过的目录。它通过记录历史访问路径,让你无需输入完整路径即可快速切换到目标目录,非常高效。


1. 启用 z 插件

默认情况下,oh-my-zsh 没有启用 z 插件,需要手动添加。

步骤:
  1. 编辑 Zsh 配置文件:

    bash 复制代码
    nano ~/.zshrc
  2. 找到插件配置行,启用 z 插件:

    bash 复制代码
    plugins=(git z)
  3. 保存并退出(Ctrl+O 保存,Ctrl+X 退出)。

  4. 加载新配置:

    bash 复制代码
    source ~/.zshrc

2. 使用 z 插件

2.1 初次使用

z 插件会在你频繁访问目录时自动记录路径。因此,初次使用时,需要先手动切换几个目录,以便 z 收集数据。例如:

bash 复制代码
cd /path/to/folder1
cd /path/to/folder2
cd /another/path/folder3
2.2 快速跳转

当你访问过某个目录后,可以使用 z 快速跳转,只需输入目录名称的一部分:

bash 复制代码
z folder1

即会跳转到 /path/to/folder1

如果目标名称不唯一,z 会跳转到最近访问的匹配目录。


3. 高级用法

3.1 模糊匹配

可以输入目录路径的部分关键字,z 会根据历史记录匹配。例如:

bash 复制代码
z to/folder

会跳转到路径中包含 to/folder 的目录。

3.2 显示匹配的目录列表

如果不确定目标目录,可以添加 -l 参数列出所有匹配的路径:

bash 复制代码
z -l folder
3.3 权重机制

z 会根据目录的访问频率和最近访问时间计算权重,优先跳转到权重较高的目录。


4. 常见问题

z 不记录历史路径怎么办?

确保配置文件中启用了 z 插件,并已加载新的配置:

bash 复制代码
plugins=(git z)
source ~/.zshrc

此外,确认终端会话有写权限用于记录访问历史:

bash 复制代码
ls -l ~/.z

如果文件不存在或无权限,可以手动创建:

bash 复制代码
touch ~/.z
chmod 600 ~/.z
如何清除历史记录?

如果需要清空 z 的历史记录,可以删除 ~/.z 文件:

bash 复制代码
rm ~/.z

再次启动终端,z 会重新记录历史路径。


extract 插件

extract 是 oh-my-zsh 提供的一个解压工具插件,它支持解压多种压缩格式,让你无需记忆具体解压命令(如 tarunzip 等),只需使用通用命令 xextract 即可快速解压文件。


1. 启用 extract 插件

步骤:
  1. 编辑 Zsh 配置文件:

    bash 复制代码
    nano ~/.zshrc
  2. 找到插件配置行,添加 extract 插件:

    bash 复制代码
    plugins=(git z extract)
  3. 保存并退出(Ctrl+O 保存,Ctrl+X 退出)。

  4. 加载新配置:

    bash 复制代码
    source ~/.zshrc

2. 使用 extract 插件

基本用法:

extract 支持通过 xextract 命令解压文件。用法如下:

bash 复制代码
x <文件名>
# 或
extract <文件名>
示例:
bash 复制代码
x archive.tar.gz
x file.zip
x data.tar.bz2
x archive.7z

支持的文件类型包括但不限于:

  • tartar.gztar.bz2tar.xz
  • ziprar7z
  • gzbz2xz
  • 其他常见压缩格式。
解压到特定目录:

如果想解压到指定目录,可以使用 cd 进入目标目录后执行命令,或结合重定向操作:

bash 复制代码
x archive.tar.gz -C /path/to/target/directory

web-search 插件允许你直接通过终端进行快速的在线搜索,支持多种搜索引擎。它通过配置常用搜索引擎的别名,在命令行即可发起搜索请求。


  1. 编辑 Zsh 配置文件:

    bash 复制代码
    nano ~/.zshrc
  2. 找到插件配置行,添加 web-search 插件:

    bash 复制代码
    plugins=(git z extract web-search)
  3. 保存并退出,并加载新配置:

    bash 复制代码
    source ~/.zshrc

使用方法

默认支持以下搜索引擎,直接用命令发起搜索:

bash 复制代码
google "搜索内容"
bing "搜索内容"
duckduckgo "搜索内容"
yahoo "搜索内容"
示例:
  • 在 Google 搜索:

    bash 复制代码
    google "oh-my-zsh plugins"
  • 在 Bing 搜索:

    bash 复制代码
    bing "zsh terminal customization"

你还可以自定义搜索引擎,直接编辑配置文件后手动添加。


优势总结:
  • extract 插件:一键解压,省去记忆复杂命令的麻烦。
  • web-search 插件:快速搜索,无需打开浏览器即可发起在线查询,提高效率。
相关推荐
摸鱼也很难1 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟5 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun5 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器