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
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84501.shtml
英文地址,請注明出處:http://en.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:) 等方式雖然能用,…