macOS 終端優化

macOS 安裝、優化、還原、升級 Oh My Zsh 完全指南 🚀

Oh My Zsh 是 macOS 終端增強的利器,它能提供強大的自動補全、主題定制和插件支持,讓你的終端更高效、更炫酷。本文將全面介紹 如何安裝、優化、還原、重新安裝和升級 Oh My Zsh,以及如何恢復安裝前的 .zshrc 配置文件。


🔹 1. macOS 安裝 Oh My Zsh

在 macOS 上,你可以使用 curlwget 來安裝 Oh My Zsh

📥 安裝步驟

? 方式 1:使用 curl(推薦)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
? 方式 2:使用 wget
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
? 方式 3:使用 Homebrew(可選)
brew install oh-my-zsh

在這里插入圖片描述

🛠 安裝后需要做的事情

  1. 檢查是否安裝成功

    echo $SHELL
    

    如果輸出 /bin/zsh,說明安裝成功。

  2. 查看 .zshrc 是否存在

    ls -la ~/.zshrc
    
  3. 重啟終端或運行

    source ~/.zshrc
    

🎨 啟用自動補全和語法高亮

為了提升終端使用體驗,我們可以安裝 zsh-autosuggestions(自動補全) 和 zsh-syntax-highlighting(語法高亮)。

? 使用 Homebrew 安裝自動補全和語法高亮
brew install zsh-autosuggestions zsh-syntax-highlighting
? 使用 git 安裝自動補全和語法高亮
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
? 啟用插件

編輯 ~/.zshrc,找到 plugins=() 這一行,修改為:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

或者在 .zshrc 末尾手動添加:

# 自動補全
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh# 語法高亮
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

psHomebrew 安裝使用 source 的方式,git 使用 plugins 的方式。

在這里插入圖片描述

? 重新加載 .zshrc
source ~/.zshrc

啟用后,你的終端將支持 命令自動補全語法高亮,提高輸入效率!🚀


🔄 2. 還原 macOS 默認 shell

如果你不想使用 Oh My Zsh,可以按以下步驟還原 macOS 默認 shell(通常是 zshbash)。

🔄 還原方法

  1. 運行 Oh My Zsh 自帶卸載腳本

    uninstall_oh_my_zsh
    

    這個命令會:

    • 刪除 ~/.oh-my-zsh/ 目錄
    • 刪除 ~/.zshrc
    • 還原 macOS 預設 shell
  2. 手動切換回默認 shell(可選)

    chsh -s /bin/bash
    

    或者切換回 macOS 自帶的 Zsh:

    chsh -s /bin/zsh
    
  3. 刪除 Oh My Zsh 相關文件(可選)

    rm -rf ~/.oh-my-zsh
    rm -f ~/.zshrc ~/.zsh_history
    
  4. 重啟終端 關閉并重新打開終端,確保 Zsh 變回 macOS 自帶的配置。


? 3. 重新安裝 Oh My Zsh

如果你之前卸載了 Oh My Zsh,想要重新安裝,可以按照 安裝步驟 再次執行:

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

🔼 4. 升級 Oh My Zsh

如果你已經安裝了 Oh My Zsh,可以使用以下命令升級到最新版本:

🚀 自動升級

omz update

或者:

upgrade_oh_my_zsh

📝 手動升級

cd ~/.oh-my-zsh
git pull origin master

🔍 5. 找回安裝前的 .zshrc

📂 如何找到 .zshrc.pre-oh-my-zsh

  1. 檢查是否存在

    ls -la ~ | grep zshrc
    

    如果輸出如下:

    -rw-r--r--   1 user  staff   1234 Mar 10 10:00 .zshrc
    -rw-r--r--   1 user  staff   1100 Mar 09 12:00 .zshrc.pre-oh-my-zsh
    
  2. 恢復 .zshrc

    mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc
    source ~/.zshrc
    

🛠 如果 .zshrc.pre-oh-my-zsh 不存在

如果你已經手動刪除了 .zshrc.pre-oh-my-zsh,你可以手動創建一個基礎的 ~/.zshrc 文件:

echo 'export PATH="/usr/local/bin:$PATH"' > ~/.zshrc
echo 'export LANG="en_US.UTF-8"' >> ~/.zshrc
echo 'export ZSH_THEME="robbyrussell"' >> ~/.zshrc
source ~/.zshrc

? 最終總結

操作命令
安裝 Oh My Zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
卸載 Oh My Zshuninstall_oh_my_zsh
還原 macOS Shellchsh -s /bin/bashchsh -s /bin/zsh
重新安裝 Oh My Zsh先卸載后再安裝
升級 Oh My Zshomz updateupgrade_oh_my_zsh
手動更新插件cd ~/.oh-my-zsh && git pull origin master
找回 .zshrcmv ~/.zshrc.pre-oh-my-zsh ~/.zshrc && source ~/.zshrc

通過這篇完整的指南,你可以自由安裝、優化、還原、升級和重新安裝 Oh My Zsh,同時也不會丟失原有的終端配置!🚀?

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

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

相關文章

計算機網絡--訪問一個網頁的全過程

文章目錄 訪問一個網頁的全過程應用層在瀏覽器輸入URL網址http://www.aspxfans.com:8080/news/index.aspboardID5&ID24618&page1#r_70732423通過DNS獲取IP地址生成HTTP請求報文應用層最后 傳輸層傳輸層處理應用層報文建立TCP連接傳輸層最后 網絡層網絡層對TCP報文進行處…

CAAC無人機考證備考清單

一、培訓機構內部的考試大綱/備考指南 《機長筆試大綱》 《機長口試大綱》 《教員筆試大綱》 《教員口試大綱》(不同機構的文件、命名可能不同) 二、培訓機構內部題庫 題庫內容包含(仿照多旋翼題庫制作): 分類 子分…

【BUG】類文件具有錯誤的版本 61.0, 應為 52.0,請刪除該文件或確保該文件位于正確的類路徑子目錄中。

報錯: [ERROR] 類文件具有錯誤的版本 61.0, 應為 52.0 [ERROR] 請刪除該文件或確保該文件位于正確的類路徑子目錄中。 報錯截圖: 原因:Java 版本和 Spring 不兼容,顯示 Spring 版本過高 解決方法 1. 使用更高版本的 J…

卷積神經網絡(筆記01)

視覺處理三大任務:分類、目標檢測、圖像分割 CNN網絡主要有三部分構成:卷積層(Convolutional Layer)、池化層(Pooling Layer)和激活函數 一、解釋卷積層中的偏置項是什么,并討論在神經網絡中引…

Django-ORM-prefetch_related

Django-ORM-prefetch_related 模型定義N1 查詢問題示例 使用 prefetch_related 優化查詢處理更復雜的查詢示例:預取特定條件的書籍示例:預取多個關聯字段 性能比較注意事項總結 通過 Author 和 Books 兩個模型來理解 Django 的 prefetch_related 方法。 …

Spring Boot3整合Knife4j(4.5.0)

整體概述 Spring Boot 是用于簡化 Spring 應用開發的框架,通過自動配置和約定大于配置原則,能讓開發者快速搭建和運行 Spring 應用。Knife4j 是基于 Swagger 增強的 API 文檔生成工具,可方便展示和調試 API 接口,生成美觀易用的 …

Java 大視界 -- 區塊鏈賦能 Java 大數據:數據可信與價值流轉(84)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

K8S學習之基礎二十四:k8s的持久化存儲之pv和pvc

K8S的存儲之pv和pvc 在 Kubernetes (k8s) 中,持久化存儲是通過 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 來實現的。PVC 是用戶對存儲資源的請求,而 PV 是集群中的實際存儲資源。PVC 和 PV 的關系類似于 Pod 和 Node 的關系。 Persisten…

【Hive】Hive安裝

Hive 第一章 Hive的基礎知識 第二章 Hive安裝 第三章 DDL(Data Definition Language)數據定義 第四章 DML(Data Manipulation Language)數據操作 第五章 Hive查詢 第六章 Hive的基礎知識 第七章 Hive函數 第八章 分區表和分桶表 …

關于C/C++語言的初學者在哪刷題,怎么刷題

引言: 這篇博客主要是針對初學者關于怎么在網上刷題,以及在哪里刷題。 1.介紹平臺(在哪刷題): 1.牛客牛客網https://www.nowcoder.com/ :有許多面試題,也有許多供學習者練習的題 2.洛谷洛谷 …

k8s面試題總結(十四)

什么是Helm? Helm是一個k8s的包管理工具,它簡化了應用程序在k8s集群中的部署,管理和維護。類似于rpm包和yum之間的關系。 K8s傳統方式:類似于rpm安裝包的方式,逐步進行安裝,遇到依賴還得解決依賴問題 he…

物理服務器的作用都有哪些?

物理服務器是一種高性能的專用服務器,一般會被運用在大型組織和云計算環境當中,可以為企業和用戶提供數據存儲和計算資源,幫助企業提高整體的工作效率和快速實現業務目標。 物理服務器有著較高的安全性,企業可以將重要的數據信息備…

01 音視頻知識學習(視頻)

圖像基礎概念 ?像素:像素是一個圖片的基本單位,pix是英語單詞picture的簡寫,加上英 語單詞“元素element”,就得到了“pixel”,簡稱px,所以“像素”有“圖像元素” 之意。 ? 分辨率:是指圖像…

有關MyBatis的動態SQL

有關MyBatis動態SQL MyBatis動態SQL是一種根據不同條件靈活拼接SQL語句的技術,基于OGNL表達式實現。動態 SQL 大大減少了編寫代碼的工作量,更體現了 MyBatis 的靈活性、高度可配置性和可維護性。 1.什么是動態SQL? 動態sql可以在一些需要靈活拼接sql…

react使用拖拽,縮放組件,采用react-rnd解決 -完整版

屏幕錄制2025-03-10 10.16.06 以下代碼僅提供左側可視化區域 右側數據根據你們的存儲數據來 大家直接看Rnd標簽設置的屬性即可!!!!! /*** 用戶拖拽水印的最終位置信息*/ export interface ProductWatermarkValue {wat…

Spring Cloud之遠程調用OpenFeign參數傳遞

目錄 OpenFeign參數傳遞 傳遞單個參數 傳遞多個參數 傳遞對象 傳遞JSON OpenFeign參數傳遞 傳遞單個參數 服務提供方product-service RequestMapping("/product") RestController public class ProductController {Autowiredprivate ProductService productSe…

每日一練之移除鏈表元素

題目: 畫圖解析: 方法:雙指針 解答代碼(注:解答代碼帶解析): //題目給的結構體 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* }…

從零開始的python學習(五)P75+P76+P77+P78+P79+P80

本文章記錄觀看B站python教程學習筆記和實踐感悟,視頻鏈接:【花了2萬多買的Python教程全套,現在分享給大家,入門到精通(Python全棧開發教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…

基于SpringBoot實現旅游酒店平臺功能八

一、前言介紹: 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高,旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求,旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…

FastAPI 分頁模塊實現詳解

1. 簡介 本文詳細介紹了一個基于 FastAPI 框架的通用分頁處理模塊的實現。該模塊提供了標準的分頁參數處理、數據切片和響應格式化功能,可以輕松地集成到任何 FastAPI 項目中。 2. 代碼實現 2.1 導入必要的模塊 首先,我們需要導入所需的模塊&#xf…