iTerm2 + Oh My Zsh 打造舒适终端体验
写在前面
我们常见的 shell 有:bash、zsh、csh、ksh、ash 等等。
Linux 下默认的是 bash ,macOS 在 Catalina 之前的版本默认也是 bash ,后面随着 zsh 越来越流行,macOS 开始将 zsh 作为默认的解释器了。
但是默认的 zsh 配置有点烦,于是有个大牛在 Github 上制作了一个配置文件 oh-my-zsh ,从此免去了我们一顿复杂的配置,这也让 oh-my-zsh 成为了目前最流行的 zsh 配置。
oh-my-zsh Github 地址:https://github.com/ohmyzsh/ohmyzsh/projects
到这里,大家对 shell 和 oh-my-zsh 应该有了初步的了解。
因为powerline以及homebrew均需要安装command line tool,网络条件优越的同学在执行本文下面内容之前,可以先安装XCode并打开运行一次(会初始化安装components),省去以后在iterm2中的等待时间。
另外,git也是必要的,各位可以自行下载安装,除了网络没有任何坑:
介于此,本文默认各位同学已经安装了git环境和xcode(command line tools),遇到提示找不到git命令或需要安装command line tool的地方,文中不再赘述了。
Vim 的基础操作
对 Vim 操作进行初步的了解,下面会用到。
就几个简单的操作命令:
vim <file name> 打开文件
i insert 编辑模式
esc 退出编辑模式
shift+zz 保存并退出
下载iTerm2
可以直接去官网下载:www.iterm2.com/
安装完成后,在/bin目录下会多出一个zsh的文件。
Mac系统默认使用dash作为终端,可以使用命令修改默认使用zsh:
chsh -s /bin/zsh
如果想修改回默认dash,同样使用chsh命令即可:
chsh -s /bin/bash
OK,这就是iTerm2初始的样子,下面我们来美化它,让它变得更好用!
安装Oh my zsh
安装方法有两种,可以使用curl或wget,看自己环境或喜好:
# 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 -)"
安装命令和安装完成后的截图:
oh-my-zsh开源地址:github.com/robbyrussel…
oh-my-zsh 的官网地址:ohmyz.sh/
修改默认的 shell
安装完成之后,在 /bin
目录下会多出一个 zsh
的文件。
你可以通过以下命令来查看:
cat /etc/shells
注意,cat
后面是有个空格的。
其次,macOS 在 Catalina 版本之前都是使用 dash
作为终端,
如果你想修改为 zsh
,可以使用以下命令:
chsh -s /bin/zsh
当然,你后悔了,想改回原来的 dash
,同样使用上面的 chsh
命令就可以。
chsh -s /bin/bash
安装PowerLine
Powerline是agnoster主题的依赖。具体可以在repo里查询到: github.com/agnoster/ag…
powerline官网:powerline.readthedocs.io/en/latest/i…
安装powerline的方式依然简单,也只需要一条命令:
pip install powerline-status --user
没有安装pip的同学可能会碰到zsh: command not found: pip。
使用命令安装pip即可:
sudo easy_install pip
安装后再次执行安装powerline的命令即可。
如果上述方法不能使用,卡住了,那么请试一下这个方法:
参考地址:
安装PowerFonts
安装字体库需要首先将项目git clone至本地,然后执行源码中的install.sh。
在你习惯的位置新建一个文件夹,如:~/Desktop/OpenSource/
在此文件夹下执行git clone命令:
# git clone
git clone https://github.com/powerline/fonts.git --depth=1
# cd to folder
cd fonts
# run install shell
./install.sh
执行结果如下:
安装好字体库之后,我们来设置iTerm2的字体,具体的操作是iTerm2 -> Preferences -> Profiles -> Text,在Font区域选中Change Font,然后找到Meslo LG字体。有L、M、S可选,看个人喜好:
安装配色方案
配色方案在使用VIM或Colorful Log时会变得非常有用,同时界面也不会一片黑绿一样死板。
同样使用git clone的方式下载源码进行安装:
cd ~/Desktop/OpenSource
git clone https://github.com/altercation/solarized
cd solarized/iterm2-colors-solarized/
open .
在打开的finder窗口中,双击Solarized Dark.itermcolors和Solarized Light.itermcolors即可安装明暗两种配色:
再次进入iTerm2 -> Preferences -> Profiles -> Colors -> Color Presets中根据个人喜好选择这两种配色中的一种即可:
安装主题
oh-my-zsh默认自带了一些默认主题,存放在 ~/.oh-my-zsh/themes
目录中。
你可以在终端输入 cd ~/.oh-my-zsh/themes && ls
就可以观察到。
下载agnoster主题,执行脚本安装:
cd ~/Desktop/OpenSource
git clone https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor.git
cd oh-my-zsh-agnoster-fcamblor/
./install
执行上面的命令会将主题拷贝到oh my zsh的themes中:
拷贝完成后,执行命令打开zshrc配置文件,将ZSH_THEME后面的字段改为agnoster。
vi ~/.zshrc
修改完成后按一下esc调出vi命令,输入:wq保存并退出vi模式。
此时command+Q或source配置文件后,iTerm2变了模样:
安装高亮插件
这是oh my zsh的一个插件,安装方式与theme大同小异:
cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
vi ~/.zshrc
这时我们再次打开zshrc文件进行编辑。找到plugins,此时plugins中应该已经有了git,我们需要把高亮插件也加上:
请务必保证插件顺序,zsh-syntax-highlighting必须在最后一个。
然后在文件的最后一行添加:source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
按一下esc调出vi命令,输入:wq保存并退出vi模式。
执行命令使刚才的修改生效:
source ~/.zshrc
至此大功告成,请看最终效果图:
背景图片取自微软Surface Studio的4K壁纸(将近12MB大小),非常漂亮,需要的可以自取:
pan.baidu.com/s/1LKd4ghGy… 提取码: snrd
更换背景图片方式:iTerm2 -> Preferences -> Profiles -> Window -> BackGround Image勾选图片即可。
可选择、命令补全
跟代码高亮的安装方式一样,这也是一个zsh的插件,叫做zsh-autosuggestion,用于命令建议和补全。
cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-autosuggestions
vi ~/.zshrc
找到plugins,加上这个插件即可:
插件效果:
有同学说补全命令的字体不太清晰,与背景颜色太过相近,其实可以自己调整一下字体颜色。
Preferences -> Profiles -> Colors 中有Foreground是标准字体颜色,ANSI Colors中Bright的第一个是补全的字体颜色。
参考文章: