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.mzph.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…