更改MAC终端样式(美化、易用的提示等)

1. 前言

之前用 Ubuntu、Elementary OS 时觉得其终端既漂亮又好用,购买的云服务器的默认终端也好看,一些牛人的桌面终端也配置得挺好看。虽然 Mac 的默认终端配置已经比 Windows 好看好用很多了,但还是觉得不够。于是灵机一动,想着能不能美化一下。先是自己尝试手动设置 Terminal 的配置参数,先改字体,将 SF Mono 改成 Monaco(之前版本的 macOS 终端默认字体是 Monaco,还是挺不错的,不知为什么后来改成了没那么好看的 SF Mono),再将背景设置成黑色,字体设置成绿色,营造黑客帝国的感觉,……,感觉还行。用了一段时间,还是觉得不够好看。黔驴技穷了啊。突然又灵光一闪,想着能不能在网上下载其它高人制作的主题,看看别人的设置方法,于是便有了此文。

2. 前提条件

2.1. 确保 Shell 环境为 Zsh

  • Zsh 在 Mac 平台挺流行的,默认也是 Zsh。如果之前改成过 Bash,可使用如下命令改回来,因为此文参考的主题和组件都是针对 Zsh 的。

chsh -s /bin/zsh

注:如何查看MAC当前系统默认的shell呢?

MAC查看与修改系统默认的shell_mac的shall怎么看-CSDN博客

cat /etc/shell

使用echo $SHELL 打印当前使用的Shell - 》 好滴,确认现在是zsh了

也可以用echo $0,反正确认当前是zsh就可以了

2.2. 确保安装了 Homebrew

  • Homebrew 是 Mac 平台最著名的包管理器,而 Mac 默认没有安装,如果因其它事安装过则不用再安装,可通过 brew -v 查看是否安装过,如没安装过则执行一下命令安装:

/bin/bash -c "$(curl -fsSL )"

https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh

  • 安装 Homebrew 极有可能需要梯子 🪜,万物离不开梯子,如果你没有梯子则说明你还不会上网,你上的不是真正的网。可参考我的 科学上网系列 自造梯子为自己赋能,师夷长技以自强。

3. 字体安装

  • 下载字体 Ubuntu Mono,此字体让我印象深刻,一直是我最喜欢的字体之一,当初用 Ubuntu 时就眼前一亮,所以最终在和 Menlo 艰难的比拼中略胜一筹。Ubuntu Mono、Menlo、Hack、Monaco、Consolas、JetBrains Mono 这几款都是我很喜欢的字体,综合来说偏爱 Menlo、hack,hack 的 0 不够好,如果能用 Menlo 的 0 替换掉 hack 的 0,那 hack 将是一个相当完美的字体。
  • 首先,使用 curl 命令从 Google Fonts API 下载字体(需要走终端代理)。

curl -L -o ~/Downloads/ubuntu-mono.zip "https://fonts.google.com/download?family=Ubuntu%20Mono"

  • 接下来,使用 unzip 命令解压缩下载的字体文件。

unzip ~/Downloads/ubuntu-mono.zip -d ~/Downloads/ubuntu-mono

  • 然后,使用 mv 命令将字体文件移动到您的字体目录中。

mv ~/Downloads/ubuntu-mono/*.ttf ~/Library/Fonts/

  • 最后,使用 rm 命令删除下载的字体文件和解压缩的文件夹。

rm -rf ~/Downloads/ubuntu-mono.zip ~/Downloads/ubuntu-mono

流程完毕~没有提示就是最好的提示

4. 主题安装

  • 前提。通过系统自带的 curl 命令总是下载空文件,使用 wget 没问题。如果没有则安装 wget。

brew install wget

  • 下载主题 snazzy。snazzy 是我目前见过最漂亮的主题之一(恕我见识浅薄),如其名所示:时髦的。

wget https://github.com/sindresorhus/terminal-snazzy/raw/main/Snazzy.terminal

  • 双击下载的文件加载主题配置。

(这里找不到的话 按下command + 空格开启聚焦搜索,直接搜Snazzy.terminal)

  • 启用主题配置。打开终端,转到 Preferences… ,然后转到 Profiles ,单击 Snazzy ,然后单击 Default 按钮。

如何找到终端设置:https://jingyan.baidu.com/article/aa6a2c141fa6a54d4c19c4ae.html

  • 安装 oh-my-zsh。

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

  • 修改字体。打开终端的设置,在 Profiles 面板修改字体为 Ubuntu Mono,字号为 18。并执行以下命令:

brew install starship

echo 'eval "$(starship init zsh)"' >> ~/.zshrc

  • 安装 oh-my-zsh 的插件。
  • 安装 autojump。

brew install autojump

  • 打开 ~/.zshrc,将插件添加到要加载的 oh-my-zsh 的插件列表中。

plugins=(

# other plugins...

autojump

)

  • 安装 zsh-syntax-highlighting。
  • 如果未安装过 git 则需要去安装。

brew install git

  • 安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

git config --global user.name "John Doe"

git config --global user.email johndoe@example.com

user.name 和 user.email 后面的内容需要根据自己的情况填写。

git clone ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

https://github.com/zsh-users/zsh-syntax-highlighting.git

  • 打开 ~/.zshrc,将插件添加到要加载的 oh-my-zsh 的插件列表中。

plugins=(

# other plugins...

zsh-syntax-highlighting

)

  • 安装 zsh-autosuggestions。

git clone ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

https://github.com/zsh-users/zsh-autosuggestions

  • 打开 ~/.zshrc,将插件添加到要加载的 oh-my-zsh 的插件列表中。

plugins=(

# other plugins...

zsh-autosuggestions

)

  • .zshrc 的插件配置类似。

5. 命令提示符安装

brew install pure

  • 将 site-functions 添加到文件 $HOME/.zshrc 末尾。

fpath+=("$(brew --prefix)/share/zsh/site-functions")

  • 初始化提示符系统并选择 pure 主题作为命令提示符主题。将以下指令添加到 .zshrc 文件末尾。

autoload -U promptinit; promptinit

prompt pure

6. 最终效果展示

7. 参考

  • 参考配置 https://medium.com/@jackklpan/make-mac-terminal-app-beautiful-and-productive-213f24c0ef4f
  • Git 教程 Git - Book
  • Snazzy 终端主题 GitHub - sindresorhus/terminal-snazzy: Elegant Terminal theme with bright colors
  • Pure 提示符 GitHub - sindresorhus/pure: Pretty, minimal and fast ZSH prompt
  • Ohmyzsh 插件 GitHub - ohmyzsh/ohmyzsh: 🙃 A delightful community-driven (with 2,200+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
  • Ohmyzsh 主题列表 Themes · ohmyzsh/ohmyzsh Wiki · GitHub
  • Mac 终端主题列表 GitHub - lysyi3m/macos-terminal-themes: Color schemes for default macOS Terminal.app

Mac 终端美化指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/249337.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot139华强北商城二手手机管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

idea docker 内网应用实践

文章目录 前言一、服务器端1.1 离线安装docker1.2 开启docker远程访问1.3 制作对应jdk镜像1.3.1 下载jdk171.3.2 Dockerfile 制作jdk17镜像1.3.3 镜像导出1.3.4 服务器引入镜像 二、Idea 配置2.1 Dockerfile2.2 pom 引入docker插件2.3 idea docker插件配置2.4 打包镜像上传2.5 …

第17次修改了可删除可持久保存的前端html备忘录:增加年月日星期,增加倒计时,更改保存区名称可以多个备忘录保存不一样的信息,匹配背景主题:现代深色

第17次修改了可删除可持久保存的前端html备忘录&#xff1a;增加年月日星期&#xff0c;增加倒计时&#xff0c;更改保存区名称可以多个备忘录保存不一样的信息&#xff0c;匹配背景主题&#xff1a;现代深色 备忘录代码&#xff1a; <!DOCTYPE html> <html lang&quo…

前端常见的栈溢出报错

什么是栈溢出&#xff1f; 在前端开发中&#xff0c;栈溢出是指JavaScript引擎执行代码时&#xff0c;调用栈&#xff08;call stack&#xff09;变得太大&#xff0c;超过了浏览器或JavaScript引擎所分配的栈空间&#xff0c;从而导致栈溢出错误。调用栈是一种数据结构&#x…

【Spark系列2】Spark编程模型RDD

RDD概述 RDD最初的概述来源于一片论文-伯克利实验室的Resilient Distributed Datasets&#xff1a;A Fault-Tolerant Abstraction for In-Memory Cluster Computing。这篇论文奠定了RDD基本功能的思想 RDD实际为Resilient Distribution Datasets的简称&#xff0c;意为弹性分…

git clone常见问题一览及解决方法

在使用Ubuntu下&#xff0c;终端运行git clone命令时会遇见许多问题&#xff0c;本文主要针对一些常见的问题进行整理。关于换源问题&#xff0c;推荐使用小鱼的一键换源。 1.git clone 速度过慢 1.1 魔法 这个方法不做过多赘述&#xff0c;ubuntu下个人使用发现体验良好&am…

matlab中的图窗属性和坐标轴的属性

图窗的Position和Outerposition Position 指定窗口的尺寸和窗口在屏幕中的位置。 Outerposition 指定窗口外轮廓的大小和位置。 两者都是用一个4维向量来定义&#xff0c;格式为[左 底 宽 高]。 可通过set函数修改Position和Outerposition&#xff0c;如下&#xff1a;在屏幕左…

【2024全网最详细】Google 搜索命令终极指南

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 你是否尝试过使用 Google 搜索作为免费的 SEO …

Flink 读取 Kafka 消息写入 Hudi 表无报错但没有写入任何记录的解决方法

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

设计一个支持并发的前端缓存接口

文章目录 一、概述二、并发缓存2.1、问题2.2、思考2.3、优化 三、总结四、最后 一、概述 缓存池不过就是一个map&#xff0c;存储接口数据的地方&#xff0c;将接口的路径和参数拼到一块作为key&#xff0c;数据作为value存起来罢了&#xff0c;这个咱谁都会。 const cacheMa…

pnpm tauri icon 一键转换 icon

在使用 Electron、Tauri 等框架开发桌面应用时&#xff0c;需要为应用生成不同平台的图标&#xff0c;如&#xff1a;MacOS 中的 icon.icns、Windows 中的 icon.ico、Linux 中的 *.png 等类型图标&#xff0c;这里介绍一种简单快捷一键转换图标的方法。 准备工作 nodejs 环境n…

ElasticSearch 应用实践 笔记

概述 介绍 ES 是一个开源的高扩展的分布式全文搜索引擎&#xff0c;是整个Elastic Stack技术栈的核心。它可以近乎实时的存储&#xff0c;检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。ElasticSearch的底层是开源库Lu…

c JPEG ZRL (15,0) 的问题

问题&#xff1a;如果量化表全为64个1&#xff0c;编码图片显示非常乱。如果用压缩比较大的量化表&#xff0c;显示基本正常。如果编码过程中不处理ZRL&#xff0c;图片正常。此问题一直没有排除。 下图为两张量化表全为64个1的情况下加了&#xff08;15,0&#xff09;后的不正…

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] }

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] } ubuntu20 win10 edge浏览器访问 服务器部署 页面打开后想使用chatgpt报错了 rootcoal-pasi1cmp:/www/wwwroot/ChatGPT-Next-Web# PORT3000 yarn start yarn run v1.22.19 warning package.json:…

实现vue3响应式系统核心-shallowReactive

简介 今天来实现一下 shallowReactive 这个 API。 reactive函数是一个深响应&#xff0c;当你取出的值为对象类型&#xff0c;需要再次调用 reactive进行响应式处理。很明显我们目前的代码是一个浅响应&#xff0c;即 只代理了对象的第一层&#xff0c;也就是 shallowReactiv…

【方法论】费曼学习方法

费曼学习方法是由诺贝尔物理学奖得主理查德费曼提出的一种学习方法。这种方法强调通过将所学的知识以自己的方式解释给别人来提高学习效果。 费曼学习方法的步骤如下&#xff1a; 选择一个概念&#xff1a;选择一个要学习的概念或主题。 理解和学习&#xff1a;用自己的方式学…

TCP四次握手

TCP 协议在关闭连接时&#xff0c;需要进行四次挥手的过程&#xff0c;主要是为了确保客户端和服务器都能正确地关闭连接。 # 执行流程 四次挥手的具体流程如下&#xff1a; 客户端发送 FIN 包&#xff1a;客户端发送一个 FIN 包&#xff0c;其中 FIN 标识位为 1&#xff0c…

MATLAB - 仿真单摆的周期性摆动

系列文章目录 前言 本例演示如何使用 Symbolic Math Toolbox™ 模拟单摆的运动。推导摆的运动方程&#xff0c;然后对小角度进行分析求解&#xff0c;对任意角度进行数值求解。 一、步骤 1&#xff1a;推导运动方程 摆是一个遵循微分方程的简单机械系统。摆最初静止在垂直位置…

阿赵UE学习笔记——14、LOD

阿赵UE学习笔记目录   大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的用法。这次看看虚幻引擎的Level Of Detail(LOD)的用法。 一、测试场景准备 用植物系统&#xff0c;在地形上面刷了好多草&#xff1a; 这个时候看一下网格&#xff0c;会发现网格比较多和密集。 …

Leetcode第382场周赛

Leetcode第382场周赛 本人水平有限&#xff0c;只做前三道。 一、按键变更的次数 给你一个下标从 0 开始的字符串 s &#xff0c;该字符串由用户输入。按键变更的定义是&#xff1a;使用与上次使用的按键不同的键。例如 s “ab” 表示按键变更一次&#xff0c;而 s “bBBb”…