Mac如何配置ZSH并使用Oh-my-zsh?讓你的終端更加實用、美觀

前言

現在,越來越多的人趨向使用ZSH取代(Linux)原本的Bash作為自己的終端Shell。的確,ZSH才是適用于現代的Shell:

  • 更豐富的命令提示
  • 更鮮明的演示標記
  • 更強大的插件支持

什么是ZSH

回答什么是ZSH前,我們先解釋什么是Bash:

Bash最早在1989年發布第一個正式版本(2020年12月7日還發布了最新穩定版本5.1)。是Shell的一個版本。

而ZSH和Bash一樣,ZSH也是終端內的一個命令行解釋器(Shell),

具體表現為其作用是用戶輸入一條命令,Shell 就立即解釋執行一條。不局限于系統、語言等概念、操作方式和表現方式等。比如:我們使用的cdwgetcurlmount等命令。

傳統的shell(如:Bash),命令和顯示的文字以單色為主;而ZSH不僅支持彩色字體,還支持命令填充:

macOS安裝ZSH

macOS安裝ZSH過于簡單,我們先講解。

默認情況下:

  • macOS High Sierra(mac10.13系統)系統自帶ZSH
  • macOS Catalina(mac10.15系統)系統開始,默認使用ZSH

所以,如果你的系統,是macOS Catalina以后的版本,可以直接跳過此步驟(下列的激活ZSH也跳過

激活ZSH

舊版本的macOS也是有自帶zsh,你可以在終端內輸入:

cat /etc/shells

可以看到,有一個/bin/zsh選項,說明已安裝

如果沒有/bin/zsh選項,可能是你的macOS版本實在是太舊,可以使用Homebrew去安裝ZSH:

brew install zsh

?有了/bin/zsh選項后,我們設置為默認Shell,然后輸入密碼,最后,重啟終端,就是ZSH了。

chsh -s /bin/zsh

配置Oh-my-zsh

1. 什么是Oh-my-zsh

ZSH的功能極其強大,只是配置過于復雜,起初只有極客才在用。后來,一些極客為了讓更多人受益,開發了Oh-my-zsh這個插件,用來簡化zsh的配置,讓zsh更加容易上手。

2. 安裝Oh-my-zsh

Oh-my-zsh十分簡單,可以看看項目地址:https://github.com/ohmyzsh/ohmyzsh。

官方配置非常簡單,但是因為項目官方腳本在GitHub的原因,國內訪問可能有點困難,為此給大家提供三個方法配置。

官方配置

Linux/Mac打開終端,輸入官方提供的腳本:

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

為了保證腳本能順利運行,你的Linux/Mac服務器需要:

  • 提前安裝gitcurl
  • 可以成功連接GitHub
  • 如果有~/.zshrc文件,最好提前備份

如果上述方式下載不下來,可以自己用git clone(有的時候git clone 不下來,可以多試幾次)

git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh 失敗了

手動配置

其實,手動配置重復的內容就是我寫的腳本配置:

  1. 在oh-my-zsh的github主頁,手動將zip包下載下來。
  2. 將zip包解壓,拷貝至~/.oh-my-zsh目錄。
  3. 執行cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc或手動復制~/.oh-my-zsh/templates/zshrc.zsh-template內文件內容~/.zshrc內。(如果沒有~/.zshrc文件,可以手動創建)
  4. 重啟終端或終端輸入source ~/.zshrc使配置生效

不是很建議普通用戶使用手動配置去配置Oh-my-zsh。

配置主題和內置插件:

vim ~/.zshrc,然后添加以下兩行(注意注釋已存在的)

ZSH_THEME="alanpeabody"
plugins=(git web-search jsontools z vi-mode zsh-syntax-highlighting zsh-autosuggestions)

其中zsh-syntax-highlighting zsh-autosuggestions是第三方插件,需要自己git clone

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions?
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84646.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84646.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84646.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++11新標準

重點 auto 類型推導范圍 for 迭代初始化列表變參模板 新類型 C11新增了類型 long long 和 unsigned long long,以支持64位(或更寬)的整型;新增了類型 char16_t和 char32_t,以支持 16位和 32 位的字符表示;還新增了“原始”字符串。 常量 nullptr nu…

SpringAI Prompt提示詞

基本概念 Prompts提示詞 ? 提示詞的是引導AI模型輸出的輸入,提示詞的正確性直接影響模型輸出的。 Message消息 Message 接口封裝了 Prompt 文本內容、一組元數據屬性以及稱為 MessageType 的分類。Spring AI消息API: 其中最重要的就是角色: …

力扣刷題——二分查找

數組是存放在連續內存空間上的相同類型數據的集合數組下標都是從0開始的數組內存空間的地址是連續的正是因為數組在內存空間的地址是連續的,所以我們在刪除或者增添元素的時候,就難免要移動其他元素的地址。 使用二分查找法返回的元素下標可能不是唯一的…

黑群暉NAS部署DeepSeek模型與內網穿透實現本地AI服務

文章目錄 前言1.安裝Container Manager2. 啟動ssh功能3. ssh連接黑群暉4. 安裝Ollama5. 安裝deepseek模型6. 安裝open-webui圖形界面7. 安裝內網穿透7.1 下載cpolar套件7.2 配置群輝虛擬機7.3 配置公網地址小結 7.4 配置固定公網地址 總結 前言 在追求自建網絡存儲方案的極客群…

Rust 學習筆記:處理任意數量的 future

Rust 學習筆記:處理任意數量的 future Rust 學習筆記:處理任意數量的 future競爭的 future將控制權交給運行時構建我們自己的異步抽象 Rust 學習筆記:處理任意數量的 future 當兩個 future 切換到三個 future 時,我們也必須從使用…

2025年TCP洪水攻擊防護實戰全解析:從協議對抗到AI智能防御

一、2025年TCP洪水攻擊的新特征與挑戰 AI驅動的自適應攻擊 攻擊者利用生成式AI動態調整SYN報文特征(如載荷內容、發送頻率),使攻擊流量與正常業務流量的差異率低至0.5%,傳統基于規則引擎的防御策略完全失效。 混合協議打擊常態化…

二、集成開發環境(IDE)

上節我們在終端演示了python虛擬環境的用法,但終端不方便代碼編寫和調試,本節介紹兩種常用的python集成開發環境:Pycharm和Jupter Notebook。Pycharm是最流行的Python IDE,下載網址:下載 PyCharm:JetBrains…

芯片電感需求趨勢及選型關鍵因素

隨著AI產業的快速發展,數據中心、AI芯片、服務器等算力基礎設施對于芯片電感等電子元件的要求不斷提升。另一方面,電子產品向高功率密度和小型化方向發展,電源模塊趨于小型化、低電壓、大電流,也對芯片電感提出了小型化、輕量化、…

Vue3+Element Plus表單驗證實戰:從零實現用戶管理

前言 在Vue3項目開發中,表單驗證是保證數據完整性和準確性的重要環節。Element Plus作為Vue3的流行UI組件庫,提供了強大的表單驗證功能。本文將基于一個用戶管理模塊的實戰案例,詳細介紹Vue3中如何使用Element Plus實現完整的表單驗證流程。…

力扣上C語言編程題:合并區間(涉及數組)

一. 簡介 本文記錄力扣網上涉及數組方面的編程題,主要以 C語言實現。 二. 力扣上C語言編程題:合并區間(涉及數組) 以數組 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] [starti, endi] 。請你合并所…

SEO長尾詞與關鍵詞優化實戰

內容概要 在SEO優化體系中,核心關鍵詞與長尾詞的協同作用直接影響流量獲取效率與用戶觸達精度。本文將從基礎概念切入,系統梳理核心關鍵詞的篩選標準與競爭強度評估方法,并深入探討長尾詞在細分場景下的價值定位。通過分析用戶搜索行為與意圖…

博圖SCL語言教程:靈活加、減計數制作自己的增減計數器(CTUD)

博圖SCL語言教程:使用SCL實現增減計數器(CTUD) 一、什么是增減計數器(CTUD)? 增減計數器(Up-Down Counter)是PLC編程中的基礎功能塊,具有以下特性: CU (Count Up):上升沿觸發計數值增加 CD (…

Android 應用被kill問題排查和處理

一、背景 博主有一款應用市場應用,同樣的應用,在Android 10上開啟三個下載正常,在Android 14上開啟下載安裝,很頻繁被kill。首先想到的是,是不是應用內存太高,導致被kill,通過工具分析內存也不高,后面就想到是不是系統本身分配給應用的內存就不高,后來通過排查,確實是和系統的…

從代碼學習深度強化學習 - 多臂老虎機 PyTorch版

文章目錄 前言創建多臂老虎機環境多臂老虎機算法基本框架(基類)1. ε-貪心算法 (Epsilon-Greedy)2. 隨時間衰減的ε-貪婪算法 (Decaying ε-Greedy)3. 上置信界算法 (Upper Confidence Bound, UCB)4. 湯普森采樣算法 (Thompson Sampling)總結前言 歡迎來到“從代碼學習深度強化…

Android學習之Window窗口

Android Window機制學習筆記 在使用Window Flag實現界面全屏功能時,發現自身對Android Window機制缺乏系統認知,因此進行了專項學習與整理。 本文主要參考以下優質資料: Android的Window詳解Android官方Window文檔 Window基本概念 1. Win…

華為云 Flexus+DeepSeek 征文|搭建部署Dify-LLM推理引擎,賦能AI Agent智能體實現動態聯網搜索能力

華為云 Flexus 云服務器 X 實例專門為 AI 應用場景設計。它提供了強大的計算能力,能夠滿足 DeepSeek 模型以及后續搭建 AI Agent 智能體過程中對于數據處理和模型運行的高要求。在網絡方面,具備高速穩定的網絡帶寬,這對于需要頻繁聯網搜索信息…

Python 100個常用函數全面解析

Python 100個常用函數全面解析 1. 類型轉換函數 1.1 int() 將字符串或數字轉換為整數。 # 基本用法 int(123) # 123 int(3.14) # 3# 指定進制轉換 int(1010, 2) # 10 (二進制轉十進制) int(FF, 16) # 255 (十六進制轉十進制)# 臨界值處理 int() # ValueError: …

分享在日常開發中常用的ES6知識點【面試常考】

前言 在日常的業務開發中,可以熟悉運用掌握的知識點快速解決問題很重要。這篇分享JS相關的知識點,主要就是對數據的處理。 注意:本篇分享的知識點,只是起到一個拋磚引玉的作用,詳情的使用和更多的ES6知識點還請參考官…

CHI協議驗證中的異常及邊界驗證

CHI協議驗證中的異常及邊界驗證 針對 CHI 協議的錯誤注入工具、覆蓋率衡量方法及實際項目中的投入平衡 CHI 協議作為多核系統中復雜的緩存一致性協議,驗證其行為需要強大的工具和方法來執行錯誤注入和邊界條件測試,并衡量測試覆蓋率。以下詳細討論常用工具、覆蓋率評估方法及…

技術專欄|LLaMA家族——模型架構

LLaMA的模型架構與GPT相同,采用了Transformer中的因果解碼器結構,并在此基礎上進行了多項關鍵改進,以提升訓練穩定性和模型性能。LLaMA的核心架構如圖 3.14 所示,融合了后續提出的多種優化方法,這些方法也在其他模型&a…