Mac如何配置ZSH并使用Oh-my-zsh?让你的终端更加实用、美观

发布于:2025-06-10 ⋅ 阅读:(22) ⋅ 点赞:(0)

前言

现在,越来越多的人趋向使用ZSH取代(Linux)原本的Bash作为自己的终端Shell。的确,ZSH才是适用于现代的Shell:

  • 更丰富的命令提示
  • 更鲜明的演示标记
  • 更强大的插件支持

什么是ZSH

回答什么是ZSH前,我们先解释什么是Bash

Bash最早在1989年发布第一个正式版本(2020年12月7日还发布了最新稳定版本5.1)。是Shell的一个版本。

ZSH和Bash一样,ZSH也是终端内的一个命令行解释器(Shell),

具体表现为其作用是用户输入一条命令,Shell 就立即解释执行一条。不局限于系统、语言等概念、操作方式和表现方式等。比如:我们使用的cdwgetcurlmount等命令。

传统的shell(如:Bash),命令和显示的文字以单色为主;而ZSH不仅支持彩色字体,还支持命令填充:

macOS安装ZSH

macOS安装ZSH过于简单,我们先讲解。

默认情况下:

  • macOS High Sierra(mac10.13系统)系统自带ZSH
  • macOS Catalina(mac10.15系统)系统开始,默认使用ZSH

所以,如果你的系统,是macOS Catalina以后的版本,可以直接跳过此步骤(下列的激活ZSH也跳过

激活ZSH

旧版本的macOS也是有自带zsh,你可以在终端内输入:

cat /etc/shells

可以看到,有一个/bin/zsh选项,说明已安装

如果没有/bin/zsh选项,可能是你的macOS版本实在是太旧,可以使用Homebrew去安装ZSH:

brew install zsh

 有了/bin/zsh选项后,我们设置为默认Shell,然后输入密码,最后,重启终端,就是ZSH了。

chsh -s /bin/zsh

配置Oh-my-zsh

1. 什么是Oh-my-zsh

ZSH的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,一些极客为了让更多人受益,开发了Oh-my-zsh这个插件,用来简化zsh的配置,让zsh更加容易上手。

2. 安装Oh-my-zsh

Oh-my-zsh十分简单,可以看看项目地址:https://github.com/ohmyzsh/ohmyzsh

官方配置非常简单,但是因为项目官方脚本在GitHub的原因,国内访问可能有点困难,为此给大家提供三个方法配置。

官方配置

Linux/Mac打开终端,输入官方提供的脚本:

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

为了保证脚本能顺利运行,你的Linux/Mac服务器需要:

  • 提前安装gitcurl
  • 可以成功连接GitHub
  • 如果有~/.zshrc文件,最好提前备份

如果上述方式下载不下来,可以自己用git clone(有的时候git clone 不下来,可以多试几次)

git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh 失败了

手动配置

其实,手动配置重复的内容就是我写的脚本配置:

  1. 在oh-my-zsh的github主页,手动将zip包下载下来。
  2. 将zip包解压,拷贝至~/.oh-my-zsh目录。
  3. 执行cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc或手动复制~/.oh-my-zsh/templates/zshrc.zsh-template内文件内容~/.zshrc内。(如果没有~/.zshrc文件,可以手动创建)
  4. 重启终端或终端输入source ~/.zshrc使配置生效

不是很建议普通用户使用手动配置去配置Oh-my-zsh。

配置主题和内置插件:

vim ~/.zshrc,然后添加以下两行(注意注释已存在的)

ZSH_THEME="alanpeabody"
plugins=(git web-search jsontools z vi-mode zsh-syntax-highlighting zsh-autosuggestions)

其中zsh-syntax-highlighting zsh-autosuggestions是第三方插件,需要自己git clone

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


​