阅读 1763

iTerm2 + oh-my-zsh 教程(7000字长文)

之前写了一篇文章「适合程序员的 MacBook 配置」, 里面有介绍 iTerm2 + oh-my-zsh 打造炫酷终端,读者看到后,问我能不能出一个详细的教程,现在给安排上。

对于长期使用终端和 Vim 的人来说,iTerm2 和 oh-my-zsh 就是两大神器。

把 iTerm2 和 oh-my-zsh 配置好,不仅可以给自己打造一个舒适的开发环境,养养眼,还能大大的提升效率。

不过在讲解具体的操作步骤之前,我们先了解先 iTerm2 和 oh-my-zsh 是什么?

要不你一顿操作,都不知道自己在干嘛。

在做什么之前要先了解是什么。

在操作系统内核外有一层壳,而这层壳就是 shell,它是用户和操作系统交互的桥梁。

这很好理解,shell 包住了系统,用户想要跟系统交互,就必须经过shell。

后来,shell 还慢慢变成了内核与用户交互的脚本语言的总称。

我们常见的 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 应该有了初步的了解。

那 iTerm2 呢?

shell 作为系统内核的壳,是一种抽象的概念,是一个解释器,但作为用户并不能很好的操作。

于是有了终端这样的软件,macOS 系统的默认终端是 terminal,这些终端不再是抽象的概念,是一个可视化的软件,很方便用户操作。

而 iTerm2 也是这样的一款软件。

它们既可以让我们输入 shell 命令,也能反馈输出结果给我们看。

好了,吹了一大堆,下面是具体的操作。

1、 Vim 的基础操作

对 Vim 操作进行初步的了解,下面会用到。

就几个简单的操作命令:

vim <file name>   打开文件
i                         insert 编辑模式
esc                     退出编辑模式
shift+zz               保存并退出
复制代码

2、 安装 iTerm2

iTerm2 的安装,直接在官网下载安装。

官网地址: http://iterm2.com/downloads.html
复制代码

3、安装 oh-my-zsh

要安装一个东西,肯定是先找官网啊。

一手资料总比经过加工的二手资料更有价值。

 oh-my-zsh 的官网地址:https://ohmyz.sh/
复制代码

在官网中点击按钮「Install oh-my-zsh」,就可以看到如何安装了。

安装 oh-my-zsh 的方式有两种,使用 curl 或 wget ,看你自己的环境和喜欢进行选择了。

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 -)"
复制代码

安装完成后会显示这样:

4、修改默认的 shell

安装完成之后,在 /bin 目录下会多出一个 zsh 的文件。

你可以通过以下命令来查看:

cat /etc/shells  
复制代码

注意,cat 后面是有个空格的。

其次,macOS 在 Catalina 版本之前都是使用 dash 作为终端,

如果你想修改为 zsh ,可以使用以下命令:

chsh -s /bin/zsh
复制代码

当然,你后悔了,想改回原来的 dash ,同样使用上面的 chsh 命令就可以。

chsh -s /bin/bash
复制代码

5、修改主题

该装的软件都装完了,现在主要就是选择自己喜欢的风格了。

那么有哪些主题风格可以选呢?

可以通过下面的 Github 地址来查看。

Github 地址:https://github.com/ohmyzsh/ohmyzsh/wiki/themes
复制代码

里面的主题非常多,各种各样的风格都有,看你个人的喜好了。

比如有云,有闪电的可爱主题 cloud 。

还有非常简洁的的 steeef。

也有官方推荐的 ys 。

选好了主题,下一步就是配置主题了,怎么配置呢?

此刻你可以在 iterm2 中输入以下命令

vim ~/.zshrc
复制代码

找到 ZSH_THEME 字段,可以看到 oh-my-zsh 的默认主题是 robbyrussell ,如果要做修改,具体操作如下:

要在 Vim 里修改文件,要先按 i 进入编辑模式,把 ZSH_THEME的值修改为你喜欢的那个主题,修改完成之后按 esc (电脑最左上)退出编辑模式,最后 shift+zz 保存并退出。

当然,你不太熟悉上面的操作,可以直接打开 .zshrc 的文件,然后用普通的编辑器直接修改那个 ZSH_THEME 的值,最后保存就好。

上面介绍的都是 oh-my-zsh默认自带了一些默认主题,存放在 ~/.oh-my-zsh/themes 目录中。

你可以在终端输入 cd ~/.oh-my-zsh/themes && ls 就可以观察到。

除了这些自带的主题,还有很多很酷,很炫的定制主题。

比如,powerlevel9k 。

powerlevel9k 真的是一个很酷的东西。

那么你想用这些主题要怎么操作呢?

也很简单,比用自带的主题多了一步操作而已。

就是先把主题给下载下来。

用 powerlevel9k 为例,通过 git clone 下载到 oh-my-zsh 放置第三方主题的目录中。

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
复制代码

最后就跟上面的操作一样,打开配置文件,把主题设置进去。

最后记得 source 一下。

source ~/.zshrc
复制代码

6、安装 powerline 和 PowerFonts

powerline 是 oh my zsh 依赖的一个插件。

这个插件主要解决很多关于 oh my zsh 主题中的字体问题。

当然,这个插件不一定要求装啊,如果你遇到有乱码问题,就需要装上了。

为什么会出现乱码的情况呢?

因为有些特殊的主题,有特殊的表情和符号。比如上面提到的 powerlevel9k。

废话不多说了,直接上官网。

官网地址:https://powerline.readthedocs.io/en/latest/installation.html
复制代码

如果你去看了 powerline 的官网,会发现 powerline 是用 python 写的,所以安装起来也很方便,只需要一条命令就好了。

pip install powerline-status
复制代码

当然安装之前要确保你已经安装了 python 环境和 pip , python 环境一般 Mac 系统都会自带的,所以如果你在安装过程中遇到:

zsh: command not found: pip。
复制代码

那就是 pip 没有安装了。

你也可以通过命令来安装。

sudo easy_install pip
复制代码

如果还有乱码,那是因为 PowerFonts 还没有安装。

PowerFonts 是一个字体库,要安装字体库需要先把 git clone 到本地,然后执行源码中的 install.sh

具体的流程如下:

# git clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
复制代码

安装完成之后,就可以设置 iTerm2 的字体,具体的操作是 iTerm2 -> Preferences -> Profiles -> Text,在 Font 区域选中 Change Font,看个人喜欢,选择字体,字体名字带有 for powerline 的就不会乱码了。

7、色彩预设

itme2 支持各种色彩主题。

可以从官网那里看到各种介绍,这里就不再做详细的介绍了,主要还是讲下详细的步骤。

官网地址:https://iterm2colorschemes.com/
复制代码

你可以先把色彩主题文件下载下来。

在官网中直接点击图标下载

当然,也可以通过运行命令来下载

git clone https://github.com/mbadolato/iTerm2-Color-Schemes ~/Downloads/itemcolor
复制代码

注意,这里的 ~/Downloads/itemcolor 是指放置下载文件的目录地址,可自行修改。

我是通过官网直接下载的,下载完成后,可以看到有很多文件夹,这里主要关注 schemesscreenshots 就好。

schemes 文件夹里主要是放置色彩主题文件的。

screenshots 则是各种色彩主题预设的预览图。

大家可以根据个人的喜好选自己喜欢的色彩主题,然后在 iterm2 中选择 Preference -> Profiles -> Colors ,导入色彩主题,并勾上就可以。

8、命令补全

zsh-autosuggestion 是一个 zsh 命令补全,提示的插件。

具体的流程如下:

cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-autosuggestions
vi ~/.zshrc
复制代码

然后找到 pluginszsh-autosuggestions 加上就行。

当然你也可以直接打开 .zshrc 这个文件,找到 pluginszsh-autosuggestions 加上。

记得保存。

安装完成后,具体的效果如下,只要打 op ,它就会自动提示我之前打过的命令 open ~/.zshrc,非常方便。

像这种插件还有很多,比如 zsh-syntax-highlighting 语法高亮的插件,都非常拥有,这里就不一一介绍了。

9、 iTerm2 的其他优化设置

设置下快捷键,比如你可以通过 keys 那里设置快速影藏和显示 iterm2 的快捷键。

设置背景图片

也可以任意设置背景透明度和模糊度, 就看你的爱好进行装逼了。

文章分类
开发工具
文章标签