前言
目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』,但是由于配置过于复杂,所以初期无人问津,很多人跑过来看看 zsh 的配置指南,什么都不说转身就走了。直到有一天,国外某位大牛开源出一个能够让你快速上手的 zsh 项目,叫做『oh my zsh』,使得 zsh 逐渐流行起来。
ZSH
安装 zsh。
1 | brew install zsh |
安装完后在 Terminal 的设置中设置默认使用 zsh。
Oh My Zsh
oh-my-zsh 是最为流行的 zsh 配置文件,提供了完善的插件体系,相关的文件在~/.oh-my-zsh/plugins
目录下。GitHub 链接。
安装 oh-my-zsh:
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
安装完成后source ~/.zshrc
使之生效。
Configuration
在.zshrc
中添加配置,其中可以自定义alias
用于简化命令,这里贴出我的配置。alias -s
意为 define suffix aliases,譬如命令行输入xxx.gz
就相当于tar -xzvf xxx.gz
。
1 | # compress relatived |
添加如下配置后,可以使用subl a.txt
或者直接输入a.txt
通过 Sublime 打开文本文件。
1 | alias subl="open -a 'Sublime Text'" |
另外,添加了两个常用 Git 命令的缩写,其实 Oh My Zsh 已经包含了许多 Git 的简写命令,比如常用的gst
即git status
的简写。可以使用命令alias
查看还有哪些简写命令。
插件
oh-my-zsh 有很多提升命令行效率的实用工具,我目前使用了如下四个插件,确实在使用过程中体验到效率的提升。安装完成后在.zshrc
中打开插件,其中 git 是默认安装并开启的插件,前面也提到有许多简写命令,这里不多赘述,请自行查阅。
1 | plugins=( |
Z
Z 插件,功能和 autojump 类似,使用z {path}
实现目录间快速跳转,并且作为 oh-my-zsh 的内置组件,只需要在.zshrc
中打开即可。
如图,Z 插件会记录你前往的目录,并根据进入次数计算权重(z -r
查看权重),以后再进入该目录只用z ddd
,会进行模糊匹配,前往权重最高的目录。
zsh-syntax-highlighting
Zsh 语法高亮插件。安装后终端输入的命令正确会绿色高亮显示,输入错误会显示红色,用于在执行命令前检查是否有语法错误。
安装 zsh-syntax-highlighting,完成后在.zshrc
中添加。
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
zsh-autosuggestions
Zsh 命令自动补全插件,效率神器。如图输入命令时,会给出建议的命令(灰色部分)按键盘 →
补全。
安装 zsh-autosuggestions,完成后在.zshrc
中添加。
1 | git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions |