Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程

Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程

同步发布在个人笔记Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程

引言

在简单使用的环境下,系统默认的 bash 就已经足够应付了,但是在主力工作电脑上仍然希望配置一个功能更强大美观的终端环境。zsh + 插件 + oh-my-zsh 的搭配可以较好的满足这些需求。

笔记记录完整配置过程,并对配置文件进行备份。

zsh 安装及基础配置

  1. 安装 zsh 环境
bash 复制代码
# 更新软件源
sudo apt update
# 安装 zsh
sudo apt install zsh
  1. 配置 zsh 为默认终端
bash 复制代码
chsh -s /bin/zsh

注意: 使用 zsh 后,配置文件将由 .bashrc 切换为 .zshrc,如果之前有配置一些环境变量或是 alias 的话,需要手动迁移至新文件。

oh-my-zsh 安装及美化配置

oh-my-zsh 安装

官网:Oh My Zsh

推荐使用 curl 或者 wget 进行脚本安装:

bash 复制代码
# 两种 curl 方式 任选其一
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 两种 wget 方式 任选其一
sh -c "$(wget -O- https://install.ohmyz.sh/)"
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

主题美化

官方已经安装好的主题文件都存放在 .oh-my-zsh/themes 路径下

bash 复制代码
# 列出可选主题
ls ~/.oh-my-zsh/themes/

也可以去官网查看主题效果:Oh My Zsh-Themes

配置主题

在安装 oh-my-zsh 的过程中,理应已经将 .zshrc 内容替换完毕了,以后的配置都将在此文件中进行。

以主题 re5et 为例,在配置文件中找到主题变量ZSH_THEME,将其修改为re5et

bash 复制代码
 ZSH_THEME="re5et"

重启终端或者运行 source .zshrc 即可完成主题更换。

自定义主题

但是更多的时候官方的主题也不能完美的符合我们的要求,此时我们就可以自定义我们的主题文件。

oh-my-zsh 的主题文件一般存放在如下路径:

bash 复制代码
~/.oh-my-zsh/themes/

re5et 主题为例,进入文件夹路径,找到 re5et.zsh-theme 直接进行编辑,或者复制主题文件为新文件 re5et_self.zsh-theme 并进行修改。

更推荐第二种做法,防止配置错误导致原主题损坏。

更改完毕后,

在配置文件中找到主题变量ZSH_THEME,将其修改为re5et_self

bash 复制代码
ZSH_THEME="re5et_self"

重启终端或者运行 source .zshrc 即可完成主题更换。

插件安装及配置

官方插件查看及启用

查看插件

oh-my-zsh 默认带有的插件放置在 ~/.oh-my-zsh/plugins 路径下面,可通过命令查看

bash 复制代码
ls ~/.oh-my-zsh/plugins/

启用插件

在配置文件 .zshrc 中找到插件段落 plugins ,按照格式添加希望启用的插件名即可:

bash 复制代码
# Add wisely, as too many plugins slow down shell startup.
plugins=(
        #other plugins
        git
        z
        zsh-syntax-highlighting		# 需安装
        zsh-autosuggestions			# 需安装
)

source $ZSH/oh-my-zsh.sh

插件安装

官方插件路径是 ~/.oh-my-zsh/plugins

自定义安装插件推荐安装在~/.oh-my-zsh/custom/plugins

安装方法就是将插件安装到上述路径,并在配置文件中启用即可。

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

在配置文件 .zshrc 中找到插件段落 plugins ,按照格式添加希望启用的插件名即可。

主题文件备份

.zshrc

bash 复制代码
##### 主题部分 #####
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="robbyrussell"
# ZSH_THEME="random"
# ZSH_THEME="ys"
# ZSH_THEME="gozilla"
# ZSH_THEME="takashiyoshida"
# ZSH_THEME="philips"
  ZSH_THEME="re5et_self"
# ZSH_THEME="simonoff"
# ZSH_THEME="awesomepanda"


##### 插件部分 #####
# Add wisely, as too many plugins slow down shell startup.
plugins=(
        #other plugins
        git
        z
        zsh-syntax-highlighting
        zsh-autosuggestions
)

source $ZSH/oh-my-zsh.sh

re5et_self.zsh-theme

bash 复制代码
if [ "$USERNAME" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; fi

local return_code="%(?..%{$fg_bold[red]%}:( %?%{$reset_color%})"

PROMPT='%F{#5f87ff}%B%n%b%f%F{#ffd75f}%B@%b%f%F{#8787ff}%B%m%b%f:%{${fg_bold[green]}%}%~%{$reset_color%}$(git_prompt_info)
%(?:%{$fg_bold[cyan]%}%1{➜%} :%{$fg_bold[red]%}%1{➜%} ) %{${reset_color}%}'

RPS1='${return_code} %F{#5f87ff}%B%D{%a}%b%f %F{#ffd75f}%B%D{%m/%d}%b%f %B-%b %F{#8787ff}%B%*%b%f'

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[magenta]%}^%{$reset_color%}%{$fg_bold[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} ±"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ?"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[red]%} ♥"
相关推荐
小Tomkk1 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊1 分钟前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding3 分钟前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi12 分钟前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-194329 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑36 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源40 分钟前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南1 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl