Mac OS X 工具技巧:一文搞定个性化命令行窗口(iTerm2 + zsh + oh-my-zsh 配置Powerline风格)
Posted mickjoust
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac OS X 工具技巧:一文搞定个性化命令行窗口(iTerm2 + zsh + oh-my-zsh 配置Powerline风格)相关的知识,希望对你有一定的参考价值。
本不想写这篇文章的,因为在Linux下已经配置过很多次,想着mac应该找篇文章一次就搞定了,结果还是踩坑,看了很多文章,不是某一点没不清楚,就是截图有问题或者命令有问题,官网又难得找等等…花了3个多小时才搞定,所以,还是来总结一篇文章就能够搞定的教程。
为什么要用zsh?用了这么多年的bash,不能说bash不好,不过当我用了zsh后发现,什么叫更好用。
配置过程稍微有点繁琐,但是你看过效果图后,或许就有动力配置了,谁说程序员不讲究外观?
本文默认你的系统已经安装好git,curl和wget,如果没安装可能需要从xcode装起。
效果图
工具准备
- iTerm2:替代OSX自带终端的软件,相信我,一定比自带终端好用得多得多。
- zsh:听说zsh是OSX上最强大的shell,没有之一,于是我深陷其中。
- oh-my-zsh:,但是配置过程较为复杂,这个脚本能够帮你一键配置。用来管理 zsh的配置,同时还有很多社区贡献的主题配置以及好用的插件可供使用,非常好用。
- Powerline:基于oh-my-zsh的主题和字体。这个属于资源类,并不完全是工具,但哪个工具敢说自己不需要字体?
步骤预览:
- 安装 iTerm2
- 在 iTerm2 下配置 Solarized Dark Higher Contrast 配色方案
- 安装配置 zsh
- 安装 oh-my-zsh
- 安装 powerlevel9k 主题
- 安装 powerline 字体
1.安装iTerm2
官网下载地址:http://iterm2.com/,这个不用多说,双击安装即可。
2.在 iTerm2 下配置 Solarized Dark Higher Contrast 配色方案
首先,打开 配色方案地址。然后,将内容复制并保存为文件:
SolarizedDarkHigherContrast.itermcolors
(注意后缀,OSX会自作聪明的加.xml,先保存,再点击重命名删除.xml即可)
然后双击即可安装。
其次,安装完后打开 iTerm2 终端,依次在菜单栏选择:iTerm2 –> Preferences –> Profiles –> Colors –> Colors Presets –> SolarizedDarkHigherContrast。
到此,配色方案成功安装。
3.安装与配置zsh
1、确认是否安装过zsh:
zsh --version
输出如下:
zsh 5.3 (x86_64-apple-darwin17.0)
说明Mac已经预装了。如果没有安装,使用pip或brew安装即可,非常简单。
2、确认当前shell:
echo $SHELL
如果不是/bin/zsh
,则用需要修改:
chsh -s /bin/zsh
#或
sudo chsh -s /bin/zsh
但是,这里我并没有成功! 查询oh-my-zash主页发现安装zsh使用chsh是有部分系统会失败,需要使用别的办法:
export SHELL=/bin/zsh
exec /bin/zsh -l
这样就能成功的看见/bin/zsh
了。
4.安装 oh-my-zsh
使用curl命令安装:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
使用wget安装:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
5.安装 powerlevel9k 主题
git下载主题并拷贝到自定义主题文件夹下:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
修改 ~/.zshrc 配置文件,配置如下:
ZSH_THEME="powerlevel9k/powerlevel9k"
到此,我们可以重新打开终端看看效果了。
可这么长的命令提示符一点都不美观!
接下来就来,简单定制下 powerlevel9k 主题(更深度的定制,可参看customizing-prompt-segments)
技巧1:修改命令提示符
默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,因此我们选择将该冗长的提示符去掉,在 ~/.zshrc 配置文件后面追加如下内容:
#注意:DEFAULT_USER 的值必须要是系统用户名才能生效
DEFAULT_USER="user"
技巧2:简化左右侧元素显示
默认的 powerlevel9k 主题最右侧显示的元素为:每条命令的执行状态,历史命令条数,当前时间,这样也比较冗余。我在这里将 历史命令条数 这一元素去掉,这样看起来比较简洁。这需要修改 ~/.zshrc 配置文件,在后面追加如下内容,定制该主题的显示元素:
# 设置 oh-my-zsh powerlevel9k 主题左边元素显示
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs)
# 设置 oh-my-zsh powerlevel9k 主题右边元素显示
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs time)
技巧3:设置语法高亮
这里会用到一个插件叫:zsh-syntax-highlighting,可以使终端输入的命令有语法高亮效果,安装方法如下:
1、git下载并拷贝到oh-my-zsh的插件 :
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
2.修改配置文件~/.zshrc :
# 注意:zsh-syntax-highlighting 必须放在最后面(官方推荐)
plugins=( [plugins...] zsh-syntax-highlighting)
3.激活配置文件 ~/.zshrc :
source ~/.zshrc
技巧4:关于oh-my-zsh 插件
关于 oh-my-zsh 插件的管理是很简单的,有两个插件目录:
- /Users/user/.oh-my-zsh/plugins: oh-my-zsh :官方插件目录,该目录已经预装了很多实用的插件,只不过没激活而已,需要参看官方目录来开启。
- /Users/user/.oh-my-zsh/custom/plugins :oh-my-zsh 第三方插件目录;
只需要把插件下载到上面任何一个目录即可,然后在 ~/.zshrc 配置文件中的 plugins 变量中添加对应插件的名称即可,
plugins=(
git
extract
z
zsh-syntax-highlighting
)
- git:oh-my-zsh 默认开启的;
- extract:通用的解压缩插件,可以解压缩任何后缀的压缩文件,使用方法很简单:x 文件名;
- z:能进入之前进入过的目录,通过模糊匹配来进入目录,很好用。
但是, 这时的插件是没有生效的,如图:
因为还差一步,激活oh-my-sh,打开~/.zshrc追加:
export ZSH=/Users/你的用户名/.oh-my-zsh #或者别的你的oh-my-zsh安装目录
source $ZSH/oh-my-zsh.sh
重新激活配置文件:
source ~/.zshrc
这时,使用命令才算成功,如图:
但!还没有完!你一定看到那个糟心的?号了。
6.安装 powerline 字体
好了,这时可以来解决?号的问题了,如图:
powerline的问号就是因为字体没安装,而且注意不只是安装字体就行了,需要配置iTerm2。
首先,git下载并执行install.sh脚本安装:
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts
其次,打开iTerm2,按照路径打开:iTerm2 –> Preferences –> Profiles –> text,找到Font处,如图:
最后,这时的字体不是为powerline所支持的,需要点击Change Font选择有for powerline字样的字体,并勾选Use a different font for non-ASCII text,同样更改,才能生效更改后如图:
重启iTerm2,到此,大功告成。
再也不用担心输命令时,长时间对着枯燥的界面了。
坑是基本填完了,如果还有遗漏,欢迎大家补充指正了。
参考资源
- Mac OSX:Powerline风格的zsh配置
- mac 装了 oh my zsh 后比用 bash 具体好在哪儿?
- https://github.com/powerline/fonts
- mac下安装powerline美化终端窗口
- 我的 Mac 终端配置(Mac OSX + iTerm2 + Zsh + Oh-My-Zsh)
- https://unix.stackexchange.com/questions/136423/making-zsh-default-shell-without-root-access
- https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH
- 用Powerline美化你的Mac终端和Vim
9. https://github.com/zsh-users/zsh-syntax-highlighting - https://github.com/bhilburn/powerlevel9k#customizing-prompt-segments
- https://github.com/robbyrussell/oh-my-zsh
- https://github.com/SpaceVim/SpaceVim/issues/771
- https://stackoverflow.com/questions/6800952/oh-my-zsh-plugins-not-working
以上是关于Mac OS X 工具技巧:一文搞定个性化命令行窗口(iTerm2 + zsh + oh-my-zsh 配置Powerline风格)的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS X 工具技巧:Sublime Text 3 常用快捷键
如何使用命令行工具为 Mac OS X 创建漂亮的 DMG?