macOS 终端优化

news2025/3/13 14:57:52

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.coloradmin.cn/o/2314360.html

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

相关文章

大语言模型-1.2-大模型技术基础

简介 本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的…

Flutter 按钮组件 TextButton 详解

目录 1. 引言 2. TextButton 的基本用法 3. 主要属性 4. 自定义按钮样式 4.1 修改文本颜色 4.2 添加背景色 4.3 修改按钮形状和边距 4.4 样式定制 5. 高级应用技巧 5.1 图标文本组合 5.2 主题统一配置 5.3 动态交互 6. 性能优化与注意事项 6.1 点击区域优化 6.…

Qt 数据库操作(Sqlite)

数据库简介 关于数据库的基础知识这里就不做介绍了,相关博客可以查看: SQL基础知识 数据库学霸笔记 上面博客都写的比较详细,本文主要介绍如何使用Qt进行数据库相关操作,数据库分为关系型数据库和非关系型数据,关系…

vue 自行封装组件,类似于el-tree组件结构

背景: 接口返回是平面数组,需要经过分类处理,转成多维数组,以满足封装组件的数据结构。 有用到插件lodash。 import { groupBy, flattenDeep } from "lodash"; 效果展示: 处理数据: 对于接口返回…

信奥赛CSP-J复赛集训(模拟算法专题)(10):P2356 弹珠游戏

信奥赛CSP-J复赛集训(模拟算法专题)(10):P2356 弹珠游戏 题目背景 题目描述 MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏——超级弹珠。 游戏的内容是:在一个 n n n \times n nn 的矩阵里,有若干个敌人,你的弹珠可以摧毁敌人,但只能攻击你所在的行、…

Windows 图形显示驱动开发-WDDM 3.2- WDDM 功能的内核模式测试

概述 在某些情况下,引入了基于 WDDM 或 MCDM 的新计算设备,并且这些设备的驱动程序不支持 D3D 运行时。 为了帮助验证此类驱动程序,将功能添加到 Dxgkrnl ,以便仅使用内核模式 thunk 进行验证;也就是说,无需涉及 D3D …

SpringBoot 入门--工程创建

IDEA创建SpringBoot项目 SpringBoot 3.1.5 需要java17 ① 创建Maven工程 ② 导入spring-boot-stater-web起步依赖 ③ 编写Controller ④ 提供启动类 1.打开IDEA,新建项目 2.点击下一步,并勾选web开发相关依赖 3.勾选完点击Create,然后配置…

Rust 之一 基本环境搭建、各组件工具的文档、源码、配置

概述 Rust 是一种强调性能、类型安全和并发性的通用编程语言。它强制执行内存安全,使用其特有的所有权机制,而无需传统的垃圾收集器。Rust 不强制执行编程范式,但受到函数式编程思想的影响。 最初是由 Mozilla 员工 Graydon Hoare 在 2006 年…

《基于机器学习的DDoS攻击检测与防御系统设计与实现》开题报告

目录 一、课题的研究目的和意义 1.1课题背景 1.2课题目的 (1)提高DDoS攻击检测的准确性 (2)加强DDoS攻击的防御能力 (3)提升网络安全防护的技术水平 1.3课题意义 (1)理论意义…

【2025】基于springboot+vue的汽车销售试驾平台(源码、万字文档、图文修改、调试答疑)

基于 Spring Boot Vue 的汽车销售试驾平台通过整合前后端技术,实现了汽车销售和试驾预约的信息化和智能化。系统为管理员和用户提供了丰富的功能,提升了客户体验和销售效率,增强了数据分析能力,为汽车销售行业的发展提供了新的途…

C语言每日一练——day_5

引言 针对初学者,每日练习几个题,快速上手C语言。第五天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…

【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用

深入再谈智能指针、AsRef引用与Borrow借用 这是一个具有深度的技术主题。每次重温其理论知识&#xff0c;都会有新的领悟。大约 2 年前&#xff0c;我曾就这一技术方向撰写过另一篇短文《从类型转换视角&#xff0c;浅谈Deref<Target T>, AsRef<T>, Borrow<T&g…

串口通信函数汇总-ing

谢谢各位佬的阅读&#xff0c;本文是我自己的理解&#xff0c;如果您发现错误&#xff0c;麻烦请您指出&#xff0c;谢谢 首先谈谈我自己对于串口的理解&#xff0c;随便拿一个嵌入式的板子&#xff0c;它上面有两个引脚&#xff0c;一个是rx&#xff0c;一个是tx&#xff0c;r…

JVM垃圾回收面试题及原理

1. 对象什么时候可以被垃圾器回收 如果一个或多个对象没有任何的引用指向它了&#xff0c;那么这个对象现在就是垃圾&#xff0c;如果定位了垃圾&#xff0c;则有可能会被垃圾回收器回收 如果要定位什么是垃圾&#xff0c;有两种方式来确定 引用计数法可达性分析算法 1.1 …

Flutter 小技巧之通过 MediaQuery 优化 App 性能

许久没更新小技巧系列&#xff0c;温故知新&#xff0c;在两年半前的《 MediaQuery 和 build 优化你不知道的秘密》 我们聊过了在 Flutter 内 MediaQuery 对应 rebuild 机制&#xff0c;由于 MediaQuery 在 MaterialApp 内&#xff0c;并且还是一个 InheritedWidget &#xff0…

SpringBoot基础Kafka示例

这里将生产者和消费者放在一个应用中 使用的Boot3.4.3 引入Kafka依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>yml配置 spring:application:name: kafka-1#kafka…

Spring 的三种注入方式?

1. 实例的注入方式 首先来看看 Spring 中的实例该如何注入&#xff0c;总结起来&#xff0c;无非三种&#xff1a; 属性注入 set 方法注入 构造方法注入 我们分别来看下。 1.1 属性注入 属性注入是大家最为常见也是使用最多的一种注入方式了&#xff0c;代码如下&#x…

STM32第一天建立工程

新建一个工程 1&#xff1a;新建一个文件&#xff0c;添加文件 a:DOC工程说明 》doc说明文档 b&#xff1a;Libraries固件库 》cmsis内核文件 &#xff08;一般这就是stm32内核文件&#xff09; 》FWLIB外设文件 &#xff08;这种就是stm32外设文件不全&#xff09; 》start…

搭建本地化笔记AI:用Copilot+deepseek+nomic-embed-text构建本地智能知识系统

安装Ollama https://ollama.com/ 下载模型 下载大语言模型 根据自己电脑的配置选择模型的大小 ollama run deepseek-r1:8b 下载向量处理模型 创建向量数据库时需要使用Embedding模型对文本进行向量化处理 ollama pull nomic-embed-text 查看安装的模型 ollama listNAME …

【蓝桥杯单片机】第十一届省赛

一、真题 二、创建工程 1.在C盘以外的盘新建文件夹&#xff0c;并在文件夹里面创建两个文件夹Driver 和Project 2.打开keil软件&#xff0c;在新建工程并选择刚刚建好的project文件夹&#xff0c;以准考证号命名 3.选择对应的芯片型号 4.选择否&#xff0c;即不创建启动文件 …