如何配置oh my zsh?.md
今天根据一些博客教程,自己配置了一下oh my zsh,感觉挺有意思的。这会儿做一个总结,权当复习。
首先,下载安装iTerm2,最好到官网下载安装包
https://www.iterm2.com/
下载安装之后配置oh my zsh
先解决一个问题,oh my zsh是个什么东西?
官网上的说明是,oh my zsh是一个zsh的开源框架。
Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout...
问题又来了,对于我这种小白来说,zsh到底是什么还真是不清楚,
跑去查了一番,又在zsh官网看了一下。
百科是这样说的:
Zsh是一个Linux用户很少使用的shell,这是由于大多数Linux产品安装,以及默认使用bash shell。几乎每一款Linux产品都包含有zsh,通常可以用apt-get、urpmi或yum等包管理器进行安装。
而官网上说的是:
Zsh is a shell designed for interactive use, although it is also a powerful scripting language. Many of the useful features of bash, ksh, and tcsh were incorporated into zsh; many original features were added.
结论就是zsh是一个shell。
那shell到底是什么东西呢?
我发现这样我就永远没办法完成oh my zsh的配置了,所以这个问题暂且搁置。
还是回到oh my zsh上来。
下载好iTerm2之后,打开终端,可以使用命令行来安装oh my zsh。
安装方式有两种,通过curl安装和通过wget来安装。
这两种东西是什么鬼日后再论。
via curl:
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
via wget:
$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
安装成功之后终端会出现oh my zsh 的图形。
关闭iTerm2终端重启,你会发现终端顶部原来的bash变成了zsh。
这就说明你已经在使用zsh了。
安装好了之后可以对oh my zsh做一些配置,让它变得快捷高效而且美观。
先说主题。
oh my zsh 的配置都是在.zshrc这个文件中,你可以通过vim或者喜欢的编辑器打开它。然后在里面修改你想改变的配置。
主题配置的默认命令是:
ZSH_THEME=""
也就是说,默认的主题为robbyrussell,你可以选用自己喜欢的主题,至于有哪些主题,全在官网中,有文字有图片效果,自行选用。
官网地址
我比较喜欢的主题是agnoster
因此,我的主题配置就变成了
ZSH_THEME="agnoster"
这样,主题就基本配置好了。
说基本是因为agnoster的配置稍稍复杂一些,还需要做一点额外的工作,它才能完美运行。
这工作就是安装字体,设置字体大小,下载主题,修改默认主题。
一步步来说。
agnoster的默认字体为Meslo,但是mac的系统字体中没有这个字体,需要自行安装。
安装字体的方式为:
下载安装。
然后打开iTerm2->Perferences->Profiles,选择Text,点击Change Font按钮,点击All Fonts,选择刚刚安装的字体Meslo LG M for Powerline,再设置字体为14pt(官网推荐)。无需点击其他按钮,关闭终端即已设置字体。
还有一件事情没做,那就是导入颜色配置。
需要先到官网下载,然后解压。
导入还是和前面一样,打开iTerm2->Perferences->Profiles,选择colors,点击右下角的Color Presets下拉列表框,选择import按钮点击,然后将你之前下载解压文件中的导入,导入成功后还要选择一下,Solarized Dark前面有个对勾就表示选中。
关闭终端重启,就可以看到高大上的界面了。
这样,主题就设置好了。
咱们再来设置一下自动补全插件。
oh my zsh 官网上的插件有很多,现在我们只关心一下自动补全。
zsh-autosuggestions官方文档:
https://github.com/zsh-users/zsh-autosuggestions
如何在zsh中使用该插件?
首先将终端目录切换到
~/.oh-my-zsh/custom/plugins
(这是oh-my-zsh所有插件放置的地方)
然后在该目录下使用git下载autosuggestions
具体命令为:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
然后打开根目录下的隐藏文件.zshrc,修改其中的插件配置,默认配置为:
plugins=(
git
)
在其中加入zsh-autosuggestions,即:
plugins=(
git
zsh-suggestions
)
然后重启iTerm2即可。
接下来再下载设置语法高亮插件zsh-syntax-highlighting,官网安装文档:
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
在./zshrc目录下,git clone 这个项目,具体命令为:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
其实这个没有完全看懂
官方的安装目录下有一个在oh my zsh中安装的内容,
在oh-my-zsh的插件目录中下载zsh-syntax-hignlighting,
所以先要在终端下切换回安装目录:
~/.oh-my-zsh/custom/plugins
然后git clone项目,即:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
接下来在配置文件中添加插件配置,配置文件在根目录下,所以回到根目录,然后打开隐藏的文件./zshrc,
在之前设置的plugins中添加语法高亮的内容
即:
plugins=(
git
zsh-suggestions
)
变为:
plugins=(
git
zsh-suggestions
zsh-syntax-hignlighting
)
然后在终端中输入命令:
source ./zshrc
关闭终端重启,即可看到语法高亮设置成功。
其中还有一步,就是让人迷惑的
source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
在一些博客上说的是这句话要加到./zshrc中
为什么要这样做,官方的解释是这样的:
Why must zsh-syntax-highlighting.zsh be sourced at the end of the .zshrc file?
zsh-syntax-highlighting.zsh wraps ZLE widgets. It must be sourced after all custom widgets have been created (i.e., after all zle -N calls and after running compinit). Widgets created later will work, but will not update the syntax highlighting.
至此,在oh my zsh就配置好了。
根据这个思路,其他主题或者插件都是可以自己配置的。