macOS安装配置oh-my-zsh

2024-04-18 08:48
文章标签 配置 安装 zsh macos oh

本文主要是介绍macOS安装配置oh-my-zsh,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近升级了mac硬盘,因为原有系统有些混乱了,所以舍弃了time machine备份,重新设置整个系统,所以这里记录一下oh-my-zsh的安装和配置过程。
本文应和另外一篇一起食用。

1. 切换shell到zsh

chsh -s /bin/zsh

2. 安装oh-my-zsh

可以通过curl或者wget安装

2.1 curl安装

  • github
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • gitee
sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"

2.2 wget安装

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
sh -c "$(wget -O- https://gitee.com/pocmon/mirrors/raw/master/tools/install.sh)"

3. 设置主题

编辑~/.zshrc,找到ZSH_THEME,修改为"agnoster"

ZSH_THEME="agnoster"

4. 修改字体

Agnoster 主题提示符里的三角形,需要 Powerline 字体库的支持。

4.1 下载和设置Solarized配色方案

因为下面的字体需要在新的配色主题中更改,所以需要先安装Solarized配色方案。

git clone https://github.com/altercation/solarized

进入目录solarized/iterm2-colors-solarized,双击Solarized Dark.itermcolorsSolarized Light.itermcolors导入主题(可能会提示安全性问题,进入系统偏好设置-安全性与隐私-通用 里面确认安装);

4.1.1 iTerm2的设置:

iTerm2设置->Profiles->Colors->Color Presets…,在下拉菜单中选择Solarized Dark
在这里插入图片描述

注意:
默认情况下,Solarized Dark显示目录的时候,会用Bold加粗显示,而非颜色显示。如果你需要目录显示颜色,那么就需要取消上图中的Bold选项。

在这里插入图片描述

4.1.2 macOS自带终端设置:

打开 终端 - 偏好设置 - 描述文件,双击 Solarized Dark xterm-256color ,并且点击右下方的“默认”,设置它为默认配色方案。
在这里插入图片描述
注意:我这里默认情况下字符背景不好看(上面的图是我修改过的),需要更改如下图中的两个颜色,点击它使用吸管工具,拾取iTerm2的相应位置颜色即可。

在这里插入图片描述
同样的,如果你需要ls的时候,文件夹显示颜色,那么需要取消对粗体文本使用高亮颜色的选项。
在这里插入图片描述

4.2 安装Powerline字体

  • github
git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
  • 我在gitee拉取的镜像
git clone https://gitee.com/simonliu009/powerlinefonts.git
cd fonts
./install.sh

4.3 修改终端字体

4.3.1 修改自带终端字体

Mac 终端
进入:终端 > 偏好设置 > 字体修改为 :Meslo LG S DZ Regular for Powerline

4.3.2 修改 iTerm2 字体

iTerm2
进入:iTerm2 > Profiles > Text > Font,修改字体为:Meslo LG S DZ Regular for Powerline

5. 安装和配置插件

5.1 zsh-autosuggestions插件

非常好用的一个插件,会记录你之前输入过的所有命令,并且自动匹配你可能想要输入命令,然后按→补全

  • github安装
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • gitee安装
git clone https://gitee.com/bright_007_admin/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

如果感觉 → 补全不方便,还可以自定义补全的快捷键,比如逗号补全,只需要在 .zshrc 文件添加如下语句(** 但是不建议,因为我后来遇到一种情况,就是python脚本命令行需要输入list或者tuple作为参数,结果逗号死活打不出来,想了好久才想起来这个设置,虽然那天我用了不下几十次逗号补全…**):

# 不建议!
bindkey ',' autosuggest-accept

5.2 zsh-syntax-highlighting插件

这个插件直接在命令输入过程中会通过颜色提示你,当前命令是否正确,错误红色,正确绿色。

  • github安装
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
  • gitee安装
git clone https://gitee.com/bright_007_admin/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

5.3 安装git-open插件

它提供一个 git-open 命令,在浏览器中打开当前所在 git 项目的远程仓库地址。

5.4 启用插件

~/.zshrc中进行如下修改

plugins=(zgitsudoextractthefuckgitignorelast-working-dirzsh-autosuggestionszsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
bindkey ',' autosuggest-accept
eval $(thefuck --alias)

5.5 一些自带插件的介绍

以上启用了一些自带的插件,无需安装,依次做一下介绍。

  • z 插件
    强大的目录自动跳转命令,用模糊匹配快速进入你想要的目录
    在这里插入图片描述
    如果z插件历史记录太多,,可以删除不要的路径
z -x 不要的路径

更多参数:

参数描述
-c在当前目录下进行子目录匹配
-eecho最合适的匹配和对应的rank,但是不执行cd操作
-h显示帮助信息
-lecho所有匹配的目录和对应的rank,但是不执行cd操作
-r进入所匹配目录列表中rank值最高的那个目录
-t进入所匹配目录列表中最近访问的那个目录
-x在.z缓存中清除当前目录的记录
例子
z download 进入到最匹配的download关键字的目录
z download fonts 进入层级匹配,先匹配download关键字,再匹配fonts关键字的目录
z -r download 进入匹配download关键字目录列表中rank值最高的目录
z -t download 进入匹配download关键字目录列表中最近访问的目录
z -l download 列出所有匹配download关键字的目录列表
  • git 插件
    定义了有关 git 的 alias。常用的有
gaa = git add --all
gcmsg = git commit -m
ga = git add
gst = git status
gp = git push

查看所有 git 命令缩写

cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
  • sudo插件
    输入某个命令忘记加sudo,双击ESC,就会在命令行头部加上sudo
  • extract插件
    所有压缩类型的文件(tar, gz, zip, rar)解压一个命令x全搞定,再也不需要记参数了
  • thefuck插件
    它可以在你输入命令错误的时候,告诉你可能的命令是啥
    在mac下安装:
brew install thefuck

然后在~/.zshrc中添加

eval $(thefuck --alias)
#如果觉得fxxk不雅,可以使用其他alias:
eval $(thefuck --alias wtf)

用法动图来自官方:

在这里插入图片描述
点击thefuck插件官网查看更多的系统安装指南。

  • gitignore插件
    提供一条 gi 命令,用来下载来自gitignore.io的 gitignore 模板。比如你新建了一个 python项目,就可以用
 gi python > .gitignore 

来生成一份适用于python项目的 .gitignore 文件。
完整模板列表点击这里。
用法
gi list: List all the currently supported gitignore.io templates.
gi [TEMPLATENAME]: Show git-ignore output on the command line, e.g. gi java to exclude class and package files.

gi [TEMPLATENAME] >> .gitignore: Appending programming language settings to your projects .gitignore.

gi也可以独立于oh-my-zsh作为一个命令行的函数存在。点击这里查看安装方法。

  • last-working-dir插件
    记录上一次退出命令行时候的所在路径,下一次启动命令行的时候自动恢复到该路径,全部都是自动完成的。只需要在 .zshrc 文件中将插件开启即可。

  • zsh_reload插件
    提供一个 src 命令,重载 zsh。但是基本我不用这个插件,我直接创建了一个alias:

alias src="source ~/.zshrc"

5.6 升级oh-my-zsh

cd ~/.oh-my-zsh/
omz update

这篇关于macOS安装配置oh-my-zsh的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914305

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单