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

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

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

  • 引言
  • zsh 安装及基础配置
  • oh-my-zsh 安装及美化配置
    • oh-my-zsh 安装
    • 主题美化
      • 配置主题
      • 自定义主题
  • 插件安装及配置
    • 官方插件查看及启用
    • 插件安装
  • 主题文件备份
      • .zshrc
      • re5et_self.zsh-theme

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

引言

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

在这里插入图片描述

zsh 安装及基础配置

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

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

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

oh-my-zsh 安装

官网:Oh My Zsh
推荐使用 curl 或者 wget 进行脚本安装:

# 两种 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 路径下

# 列出可选主题
ls ~/.oh-my-zsh/themes/

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

配置主题

在安装 oh-my-zsh 的过程中,理应已经将 .zshrc 内容替换完毕了,以后的配置都将在此文件中进行。
以主题 re5et 为例,在配置文件中找到主题变量ZSH_THEME,将其修改为re5et

 ZSH_THEME="re5et"

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

自定义主题

但是更多的时候官方的主题也不能完美的符合我们的要求,此时我们就可以自定义我们的主题文件。
oh-my-zsh 的主题文件一般存放在如下路径:

~/.oh-my-zsh/themes/

re5et 主题为例,进入文件夹路径,找到 re5et.zsh-theme 直接进行编辑,或者复制主题文件为新文件 re5et_self.zsh-theme 并进行修改。
更推荐第二种做法,防止配置错误导致原主题损坏。

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

ZSH_THEME="re5et_self"

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

插件安装及配置

官方插件查看及启用

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

ls ~/.oh-my-zsh/plugins/

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

# Add wisely, as too many plugins slow down shell startup.
plugins=(#other pluginsgitzzsh-syntax-highlighting		# 需安装zsh-autosuggestions			# 需安装
)source $ZSH/oh-my-zsh.sh

插件安装

官方插件路径是 ~/.oh-my-zsh/plugins
自定义安装插件推荐安装在~/.oh-my-zsh/custom/plugins

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

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

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

主题文件备份

.zshrc

##### 主题部分 #####
# 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 pluginsgitzzsh-syntax-highlightingzsh-autosuggestions
)source $ZSH/oh-my-zsh.sh

re5et_self.zsh-theme

if [ "$USERNAME" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; filocal 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]%} ♥"
http://www.xdnf.cn/news/12651.html

相关文章:

  • 前沿论文汇总(机器学习/深度学习/大模型/搜广推/自然语言处理)
  • 数据类型 -- 字符
  • SQL字符串截取函数全解析:LEFT、RIGHT、SUBSTRING 实战指南
  • 如何使用Jmeter进行压力测试?
  • MySQL-运维篇
  • 隐私计算时代B端页面安全设计:数据脱敏与权限体系升级路径
  • 数据结构算法(C语言)
  • 新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案
  • 开源之夏·西安电子科技大学站精彩回顾:OpenTiny开源技术下沉校园,点燃高校开发者技术热情
  • 华为云Astro中服务编排、自定义模型,页面表格之间有什么关系?如何连接起来?如何操作?
  • 【第七篇】 SpringBoot项目的热部署
  • Mac 安装git心路历程(心累版)
  • Mysql批处理写入数据库
  • 虚幻基础:角色旋转
  • IEC 61347-1:2015 灯控制装置安全通用要求详解
  • Docker基础(一)
  • 轻量级Docker管理工具Docker Switchboard
  • python如何统计图片的颜色分布
  • jenkins gerrit-trigger插件配置
  • JVM 垃圾回收器 详解
  • C++算法训练营 Day11 栈与队列(2)
  • mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
  • 阿里云ACP云计算备考笔记 (4)——企业应用服务
  • 【MySQL】视图、用户管理、MySQL使用C\C++连接
  • 【数据结构初阶】单链表
  • Harmony核心:动态方法修补与.NET游戏Mod开发
  • Java实现飞机射击游戏:从设计到完整源代码
  • 【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1
  • 使用WPF的Microsoft.Xaml.Behaviors.Wpf中通用 UI 元素事件
  • 从代码学习深度强化学习 - 初探强化学习 PyTorch版