- Published on
zsh 安装与配置:9步打造高效命令行
- Authors
- Name
- Neo
关注公众号,第一时间获取更新
关注前沿科技,分享独立开发故事。欢迎一起寻找利基市场,构建小而美的生意
zsh 是 Neo 日常开发过程中最常用的 shell,它大幅提升了开发效率,也不再为忘记命令而苦恼。配合使用 oh-my-zsh 在短时间内就可以配置出一个高效的命令行,推荐大家使用。这篇文章记录了 Neo 自用的 zsh 安装配置流程,共 9 步,10 分钟内就可以完成。
Table of Contents
zsh 介绍
zsh 是一个兼容 bash 的 shell,相较 bash 具有以下优点:
- Tab 补全功能强大。命令、命令参数、文件路径均可以补全。
- 插件丰富。快速输入以前使用过的命令、快速跳转文件夹、显示系统负载这些都可以通过插件实现。
- 主题丰富。
- 可定制性高。
关于 zsh 的更多的信息,可以访问 zsh.org查看。
安装 zsh
每个操作系统安装方式不一 ,这里只介绍我用过的操作系统的安装方法。
macOS:
brew install zsh
ubuntu:
sudo apt-get install zsh
ArchLinux/Manjaro
sudo pacman -S zsh
使用 chsh -s /bin/zsh
命令将 zsh 设置为系统默认 shell。新开一个 Shell Session,就可以开始使用 zsh 了。
输入 q
会直接退出配置引导,下一次运行 zsh 时会再次进入配置引导。
输入 0
,也会退出配置引导,但是会在当前用户目录生成一个空白的文件 .zshrc
,下一次运行时就不会再进入配置引导。下一次运行时是否再进入配置引导,取决于用户目录下是否存在.zshrc 文件。
由于 zsh 配置较为复杂,推荐大家使用配置管理工具来配置 zsh,花很少时间就可以得到一个称手的 zsh。下面介绍如何使用 oh-my-zsh 来修改 zsh 的主题和安装常用的插件。
安装 oh-my-zsh
安装 oh-my-zsh 之前,需要确保本地已经安装了 git。
使用 curl 下载脚本并安装:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
或者使用 wget 下载脚本并安装:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
在配置过程中,脚本会提示将 zsh 设为默认的 shell:
这样就安装好 oh-my-zsh 了,下面我们开始通过 oh-my-zsh 来配置 zsh 。
配置 zsh
修改主题
在 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes 中查看内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/themes
目录下,不需要再下载。
除了内置主题外,还可以选择其他开源的主题,强烈推荐尝试一下 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="powerlevel10k/powerlevel10k"
最后,执行 source ~/.zshrc
配置生效,这时会提示对主题进行配置,按照提示进行即可。
安装插件
oh-my-zsh 已经内置了 git 插件,内置插件可以在 ~/.oh-my-zsh/plugins
中查看 ,下面介绍一下我常用的三个插件,更多插件可以在 awesome-zsh-plugins 里查看。
zsh-autosuggestions
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-syntax-highlighting
加入插件列表:
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 ~/projects/hackerneo/blog
这个命令来举例:
- 在
.zshrc
中键入:
alias cdblog="cd ~/projects/hackerneo/blog"
- 开启新的 Shell 或
source ~/.zshrc
,以使配置生效。生效后就可以使用cdblog
进行跳转了。
除了自己设置 alias 之外,一些插件也内置内很多 alias。最常用的是 git 插件内置的 alias。例如,ga
就代表 git add
,更多 git 插件内置 alias 可以在 git plugin alias 中查看。
其他
遇事不决,多敲 Tab。