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安装即可
brew install zsh
ubuntu: ubuntu
使用apt-get安装
sudo apt-get install zsh
其他Linux发行版本,则使用对应的包管理器安装即可。
由于我Mac上的终端已经配置好了,这里我新启一台ubuntu虚拟机进行步骤解读:
安装好后,使用 cat /etc/shells
查看系统可以用的 shell:
使用 chsh -s /bin/zsh
命令将 zsh 设置为系统默认 shell。新开一个 Shell Session,就可以开始使用 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 -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 -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
目录下,不需要再下载。
cd ~/.oh-my-zsh/themes
修改主题:
cd到用户目录之下
cd ~
使用 vim 编辑 .zshrc,修改以下内容并保存: (不会用vim的,i
键插入,编辑完esc
键,然后输入:wq
保存并退出)
vim ./.zshrc
#找到这一行修改
ZSH_THEME="要修改的主题名称"
最后,执行 source ~/.zshrc 配置生效
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 ,命令如下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
还是使用 vim 编辑 .zshrc
的 ZSH_THEME
字段:
ZSH_THEME="powerlevel10k/powerlevel10k"
最后,执行 source ~/.zshrc
配置生效。
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) 是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:
安装步骤:
- 把插件下载到本地的
~/.oh-my-zsh/custom/plugins
目录:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- 在
.zshrc
中,把zsh-autosuggestions
加入插件列表:
plugins=(
# other plugins...
zsh-autosuggestions # 插件之间使用空格隔开
)
- 开启新的 Shell 或执行
source ~/.zshrc
,就可以开始体验插件。
zsh-syntax-highlighting
zsh-syntax-highlighting是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:
安装步骤:
- 把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- 在 .zshrc 中,把 zsh-autosuggestions 加入插件列表:
plugins=(
# other plugins...
zsh-autosuggestions
zsh-syntax-highlighting
)
- 开启新的 Shell 或执行
source ~/.zshrc
,就可以开始体验插件。
z
z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下:
安装步骤:
- 由于 oh-my-zsh 内置了 z 插件,所以只需要在 .zshrc 中,把 z 加入插件列表:
plugins=(
# other plugins...
zsh-autosuggestions
zsh-syntax-highlighting
z
)
- 开启新的 Shell 或执行
source ~/.zshrc
,就可以开始体验插件了。
设置 alias
zsh 支持为较长命令设置一个别名,这样在使用时可以快捷输入。
这里以 cd ~/Documents/Vue/demo/project/src/2023/blob
这个命令来举例:
- 在 .zshrc 中键入:
alias cdblob="cd ~/Documents/Vue/demo/project/src/2023/blob"
- 开启新的 Shell 或
source ~/.zshrc
,以使配置生效。生效后就可以使用cdblog
进行跳转这个路径了。