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.pswp.cn/bicheng/84501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xilinx FPGA 重构Multiboot ICAPE2和ICAPE3使用

一、FPGA Multiboot 本文主要介绍基于IPROG命令的FPGA多版本重构,用ICAP原语实现在线多版本切换。需要了解MultiBoot Fallback点击链接。 如下图所示,ICAP原语可实现flash中n1各版本的动态切换,在工作过程中,可以通过IPROG命令切…

springMVC-11 中文乱码处理

前言 本文介绍了springMVC中文乱码的解决方案,同时也贴出了本人遇到过的其他乱码情况,可以根据自身情况选择合适的解决方案。 其他-jdbc、前端、后端、jsp乱码的解决 Tomcat导致的乱码解决 自定义中文乱码过滤器 老方法,通过javaW…

mysql-innoDB存储引擎事务的原理

InnoDB 存储引擎支持 ACID 事务,其事务机制是通过 Redo Log(重做日志)、Undo Log(回滚日志) 和 事务日志系统 来实现的。下面详细解析 InnoDB 事务的工作原理。 1.事务的基本特性(ACID) 特性描…

在GIS 工作流中实现数据处理

通过将 ArcPy 应用于实际的 GIS 工作流,我们可以高效地完成数据处理任务,节省大量时间和精力。接下来,本文将结合具体案例,详细介绍如何运用 ArcPy 实现 GIS 数据处理的全流程。 数据读取与合并 假设我们有多个 shapefile 文件&a…

第十四届蓝桥杯_省赛B组(C).冶炼金属

题目如下: 拿到题我们来看一下,题目的意思,就是求出N个记录中的最大最小值,言外之意就是,如果超过了这个最大值不行,如果小于这个最小值也不行,所以我们得出,这道题是一个二分答案的题目&#x…

​​Android 如何查看CPU架构?2025年主流架构有哪些?​

在开发安卓应用或选购手机时,了解设备的CPU架构至关重要。不同的架构影响性能、兼容性和能效比。那么,​​如何查看安卓设备的CPU架构?2025年主流架构有哪些?不同架构之间有什么区别?​​ 本文将为你详细解答。 ​​1.…

飞算 JavaAI 2.0.0:开启老项目迭代维护新时代

在软件开发领域,老项目的迭代与维护一直是开发团队面临的难题。代码逻辑混乱、技术栈陈旧、开发效率低下等问题,让老项目改造犹如一场 “噩梦”。而飞算 JavaAI 2.0.0 版本的正式上线,通过三大核心能力升级,为老项目开发带来了全新…

Linux初步介绍

Linux是一种开源的类Unix操作系统内核,广泛应用于服务器、桌面、嵌入式设备等各种计算平台。它由Linus Torvalds于1991年首次开发,因其稳定性、安全性和灵活性,被全球开发者和企业广泛采用。 特点: 开放性(开源&#…

OneNet + openssl + MQTT

1.OneNet 使用的教程 1.在网络上搜索onenet,注册并且登录账号。 2.产品服务-----物联网服务平台立即体验 3.在底下找到立即体验进去 4.产品开发------创建产品 5.关键是选择MQTT,其他的内容自己填写 6.这里产品以及开发完成,接下来就是添加设…

行为设计模式之Memento(备忘录)

行为设计模式之Memento(备忘录) 前言: 备忘录设计模式,有点像vmware快照可以回滚,idea的提交记录同样可以混滚,流程引擎中流程可以撤销到或者回滚到某个指定的状态。 1)意图 在不破坏封装性的…

动画直播如何颠覆传统?解析足球篮球赛事的数据可视化革命

在5G和AI技术快速发展的今天,体育赛事直播正在经历一场深刻的变革。传统视频直播虽然能提供真实的比赛画面,但在战术可视化、数据深度和交互体验方面存在明显短板。而基于实时数据驱动的动画直播技术,正通过创新的方式弥补这些不足&#xff0…

二刷苍穹外卖 day01

nginx nginx反向代理 将前端发送的请求由nginx转发到后端服务器 好处: 提速:nginx本身可缓存数据 负载均衡:配置多台服务器,大量请求来临可均衡分配 保证后端安全:不暴露后端服务真实地址 server{listen 80;server_…

5.2 HarmonyOS NEXT应用性能诊断与优化:工具链、启动速度与功耗管理实战

HarmonyOS NEXT应用性能诊断与优化:工具链、启动速度与功耗管理实战 在HarmonyOS NEXT的全场景生态中,应用性能直接影响用户体验。通过专业的性能分析工具链、针对性的启动速度优化,以及精细化的功耗管理,开发者能够构建"秒…

模型训练-关于token【低概率token, 高熵token】

Qwen团队新发现:大模型推理能力的提高仅由少数高熵 Token 贡献 不要让低概率token主导了LLM的强化学习过程 一 低概率词元问题 论文:Do Not Let Low-Probability Tokens Over-Dominate in RL for LLMs 在RL训练过程中,低概率词元&#xff08…

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag

gRPC、WebSocket 与 HTTP 的核心区别对比

gRPC、WebSocket 与 HTTP 的核心区别对比,涵盖通信模式、协议特性及适用场景: 🔄 ‌一、通信模式‌ ‌HTTP‌ ‌单向请求-响应‌:客户端发起请求,服务器返回响应后连接立即关闭13。‌无状态协议‌:每次请求…

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…

讲讲JVM的垃圾回收机制

垃圾回收就是对内存堆中已经死亡或者长时间没有使用的对象进行清楚或回收。 JVM 在做 GC 之前,会先搞清楚什么是垃圾,什么不是垃圾,通常会通过可达性分析算法来判断对象是否存活。 在确定了那些垃圾可以被回收后,垃圾回收器&…

QT软件外包开发费用

国内QT软件外包开发费用是一个非常复杂的问题,没有一个固定的价格,它受到多种因素的影响。以下将详细阐述影响QT软件外包开发费用的主要因素,并提供大致的价格区间供参考(请注意,这些价格仅为估算,实际报价…

iOS 16 SwiftUI 优雅跳转实践:用枚举路由和 NavigationStack 实现多页面导航

引言:跳转的混乱与优雅的必要性 SwiftUI 给我们带来了声明式界面的全新开发体验,但当涉及到页面跳转时,许多开发者仍然面临一些“旧痛”。最初的 NavigationLink(destination:isActive:) 或 sheet(isPresented:) 等方式虽然能用,…