INFO

先看一下配置好以后的效果,输入命令会有之前使用过的命令提示,按上下箭头可以进行选择,输入出错会标红提示,正确命令显示绿色

图片图片

介绍:

Oh My Zsh 是什么

Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式。它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作。给我们一种全新的方式使用命令行。

  • Oh My Zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。
  • 安装 Oh My Zsh 前提条件:必须已安装 zsh
  • 笔者是 Mac 系统,以下操作都是基于 Mac 系统或者 Ubuntu。(其他Linux发行版安装方式大同小异)
  • oh-my-zsh官网

zsh 介绍

zsh 是一个兼容 bash 的 shell,相较系统原本的 bash 具有以下优点:

  • Tab 补全功能强大。命令、命令参数、文件路径均可以补全。
  • 插件丰富。快速输入以前使用过的命令、快速跳转文件夹、显示系统负载这些都可以通过插件实现。
  • 主题丰富,可定制性高。

开始安装:

每个操作系统安装方式不一 ,这里只介绍我用过的操作系统的安装方法。

macOS: macOS

mac自带zsh,通过homebrew安装即可

macOS
shell
brew install zsh

ubuntu: ubuntu

使用apt-get安装

ubuntu
shell
sudo apt-get install zsh

其他Linux发行版本,则使用对应的包管理器安装即可。

由于我Mac上的终端已经配置好了,这里我新启一台ubuntu虚拟机进行步骤解读:

安装好后,使用 cat /etc/shells 查看系统可以用的 shell:

使用 chsh -s /bin/zsh 命令将 zsh 设置为系统默认 shell。新开一个 Shell Session,就可以开始使用 zsh 了。

第一次运行 zsh 时会进入如下的配置引导页面:

  • 输入 q 会直接退出配置引导,下一次运行 zsh 时会再次进入配置引导。

  • 输入 0,也会退出配置引导,但是会在当前用户目录生成一个空白的文件 .zshrc,下一次运行时就不会再进入配置引导。下一次运行时是否再进入配置引导,取决于用户目录下是否存在.zshrc 文件。

  • 输入输入 1 后,就开始进行配置,如下:

在这里插入图片描述在这里插入图片描述 未经配置的 zsh,看起来很朴素:

由于 zsh 配置较为复杂,推荐大家使用配置管理工具来配置 zsh,花很少时间就可以得到一个称手的 zsh。下面介绍如何使用 oh-my-zsh 来修改 zsh 的主题和安装常用的插件。

安装 oh-my-zsh

安装 oh-my-zsh 之前,需要确保本地已经安装了 git。

(如果没装git,Mac用户请 :`brew install git`,Linux使用`sudo apt install git`)

使用 curl 下载脚本并安装:

sh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#没有梯子的使用国内镜像源
sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

或者使用 wget 下载脚本并安装:

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

然后同意使用 Oh-my-zsh 的配置模板覆盖已有的 .zshrc 在配置过程中,脚本会提示将 zsh 设为默认的 shell: 安装完成后如下图所示:

这样就安装好 oh-my-zsh 了,下面我们开始通过 oh-my-zsh 来配置 zsh 。

配置 zsh

查看主题:

https://github.com/ohmyzsh/ohmyzsh/wiki/Themes 中查看内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/themes 目录下,不需要再下载。

sh
cd ~/.oh-my-zsh/themes

修改主题:

cd到用户目录之下

sh
cd ~

使用 vim 编辑 .zshrc,修改以下内容并保存: (不会用vim的,i键插入,编辑完esc键,然后输入:wq保存并退出)

sh
vim ./.zshrc
.zshrc
sh
#找到这一行修改
ZSH_THEME="要修改的主题名称"

最后,执行 source ~/.zshrc 配置生效

sh
source ~/.zshrc

下面是修改后的主题效果: 更多主题可以在这个链接内查看: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

powerlevel10k (本人最喜欢的一个主题)

除了内置主题外,还可以选择其他开源的主题,强烈推荐尝试一下 powerlevel10k 主题,一个顶十个,项目地址为:https://github.com/romkatv/powerlevel10k

oh-my-zsh 安装这个款主题的方法:使用 git 将文件 clone 只指定文件夹 ~/.oh-my-zsh/custom/themes/powerlevel10k ,命令如下:

sh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

还是使用 vim 编辑 .zshrcZSH_THEME 字段:

sh
ZSH_THEME="powerlevel10k/powerlevel10k"

最后,执行 source ~/.zshrc 配置生效。

sh
source ~/.zshrc

和内置主题不同的是,这时打开终端会提示对主题进行配置,按照提示进行即可。(推荐设置好增强字体再进行powerlevel10k的配置)

注意:一定要设置好终端字体,否则会出现图标无法正常显示的现象,可以下载powerlevel10k官网推荐的四个字体:https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#meslo-nerd-font-patched-for-powerlevel10k在这里插入图片描述在这里插入图片描述 也可以自己寻找喜欢的字体,我个人比较推荐使用NerdFont 设置好字体,这样我们的终端才可以显示那些更复杂的字体和图标> 在这里插入图片描述在这里插入图片描述

下面是我之前配置的最终效果:

安装插件

配置完主题,美观度是有了,但是使用效率还没有提高,这就需要安装插件了

oh-my-zsh 已经内置了 git 插件,内置插件可以在 ~/.oh-my-zsh/plugins 中查看 ,下面介绍一下我常用的三个插件,更多插件可以在 awesome-zsh-plugins 里查看。

zsh-autosuggestions:

[zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions) 是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:

安装步骤:

  1. 把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录:
sh
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  1. .zshrc 中,把 zsh-autosuggestions 加入插件列表:
.zshrc
sh
plugins=(
    # other plugins...
    zsh-autosuggestions  # 插件之间使用空格隔开
)
  1. 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件。

zsh-syntax-highlighting

zsh-syntax-highlighting是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:

安装步骤:

  1. 把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录:
sh
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  1. 在 .zshrc 中,把 zsh-autosuggestions 加入插件列表:
sh
plugins=(
    # other plugins...
    zsh-autosuggestions
    zsh-syntax-highlighting
)
  1. 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件。

z

z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下:

安装步骤:

  1. 由于 oh-my-zsh 内置了 z 插件,所以只需要在 .zshrc 中,把 z 加入插件列表:
sh
plugins=(
     # other plugins...
     zsh-autosuggestions
     zsh-syntax-highlighting
     z
)
  1. 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件了。

设置 alias

zsh 支持为较长命令设置一个别名,这样在使用时可以快捷输入。

这里以 cd ~/Documents/Vue/demo/project/src/2023/blob 这个命令来举例:

  1. 在 .zshrc 中键入:
sh
alias cdblob="cd ~/Documents/Vue/demo/project/src/2023/blob"
  1. 开启新的 Shell 或 source ~/.zshrc,以使配置生效。生效后就可以使用 cdblog 进行跳转这个路径了。