macOS 终端优化

embedded/2025/3/12 9:08:42/

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.ppmy.cn/embedded/171990.html

相关文章

我与DeepSeek读《大型网站技术架构》(9) - 淘宝网的架构演化案例分析

目录 淘宝网的架构演化案例分析初始阶段(2003年)业务驱动重构(2004年)去商业化解耦(2010年后)成果与启示相关开源中间件Tair(分布式缓存)TFS(Taobao File System&#xf…

C语言:6.22练习题数组解答

#include <stdio.h> #include <string.h> // 用于 strlen() int main() {char a[100];int j 0;// 从用户输入读取字符串printf("请输入一个字符串: ");fgets(a, sizeof(a), stdin);// 遍历字符串中的每个字符for (int i 0; i < strlen(a); i) {if (…

行为模式---状态模式

概念 状态模式是一种行为模式&#xff0c;用于在内部状态改变的时候改变其行为。它的核心思想就是允许一个对象在其内部状态改变的时候改变它的行为。状态模式通过将对象的状态封装成独立的类&#xff0c;并将其行为委托给当前的状态对象&#xff0c;从而使得对象行为随着状态…

在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行

在 CentOS 上&#xff0c;你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行&#xff1a; 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup&#xff1a;忽略挂断信号&#xff0c…

手势即命令:基于 OpenCV 和 MediaPipe 的智能关机系统

前言 有没有遇到过这样的场景:加班到深夜,鼠标在桌面上划半天,却无法点到关机按钮?又或者,朋友借用电脑,怕其乱翻,只希望一个手势便触发关机操作?不必担心,今天我们用 OpenCV + MediaPipe 打造一款“手势即命令”的智能关机系统,只需轻抬手指,电脑便乖顺应命令。这…

使用dify的api连接外部知识库,dify连接ragflow的知识库(附java代码)

dify的知识库一般般,但是ragflow的知识库很强大,今天教大家如何使用dify连接ragflow的知识库 一.ragflow的准备工作 1.在ragflow建立一个知识库,拿到知识库的id,红框圈出来的地方就是这个知识库的id,后面要用到 2.拿到ragflow的api的key 二.写代码,将ragflow的接口返回的内容…

Leetcode-146.LRU缓存

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则返回 -1 …

【RabbitMQ】事务

事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的&#xff0c;该协议实现了事务机制&#xff0c;因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的&#xff0c…