其实网上有很多文章教怎么去配一个好看的终端,但是大部分我觉得只是教你怎么装个 oh-my-zsh 而已,再加点丑陋的配色,而且说一堆用都用不到的快捷键和命令。所以每次我让别人去看网上文章怎么配终端后,他们最后还是要回来找我配,那就干脆就写篇文章吧。
效果
下面是我配的终端,这是我觉得比较好看的主题了,当然每个人的审美都不一样,还有大把配色和主题任君选择。后面,我会一步步去配成下面的样子,而且会说下终端里比较有用的工具和命令。
iTerm2
先下 iTerm2,这是一个比 Mac 自带终端好用的终端,功能方面比较强大。
下载安装后打开会发现和自带的 terminal 差不多,就是背景变黑了。
oh-my-zsh
安装 oh-my-zsh 其实是安装 zsh 这个 shell,只不过 zsh 会有一些好看的主题,默认的主题就是 robbyrussell。这个主题其实是比较好看了。
复制下面的命令到终端里就可以安装 oh-my-zsh 了
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安装完了会发现终端变成这样
这时你会发现,你的终端和图片里的颜色还是不太对,下面就搞搞配色。
配色
首先点进下面的地址去 git clone
或者直接下载 .zip 文件,然后解压缩。
https://github.com/mbadolato/iTerm2-Color-Schemes
回到 iTerm2,进入偏好设置 cmd + ,
。然后选 Profile -> Colors -> Color Presents -> Import
然后选 schemes 文件夹下面的配色方案就好了,这里我比较推荐用 Atom,别的基本都试过了,还是觉得 Atom 的配色最好看。
导入之后,选中 Atom 就可以应用该配色方案了。
主题
选完配色后就到选主题了,这个萝卜青菜,各有所爱了,我比较喜欢 agnoster 主题。首先打开 .zshrc 文件.
# 打开 .zshrc 文件
vim ~/.zshrc
改变 ZSH_THEME
为 agnoster
,修改后 :wq
保存。
再在终端里执行 zsh
命令,或者重启 iTerm2。会发现主题变了,但是出现乱码了。
这是因为 Mac 缺少 Powerline 字体,所以还要去装字体。直接执行下面命令就可以了。
# 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 的设置里 Profile -> Text -> Change Font
里选一个字体,乱码才消失。
我一般就用 Roboto Mono For Powerline,当然你也可以选自己喜欢的字体,只要没有乱码就好了。
更快捷方便
你会发现这个 iTerm2 还是一个悬浮的窗口,而我的 iTerm2 是可以直接嵌到全屏里的。首先禁用 General -> Window
里的 Native Full Screen Widows 选项。
然后在 Profile -> Window -> Style
里选中 Full-Width Top of Screen。
重启一下 iTerm2 就会发现 iTerm 现在已经嵌入到屏幕的顶部了。按 cmd + enter
可以扩展到全屏模式。
Hot Key
iTerm2 有一个 Hot Key 功能可以帮助你一键 toggle iTerm2。首先在 Keys
的底部找到 Hotkey 选项,勾选选项,然后设置自己的 Hotkey。�
我这里是 option + i
。不断按 Hotkey 可以快速打开和隐藏 iTerm2 了。
快捷键
相信刚刚你已经会两个快捷键了:
-
cmd + enter
: 放大和缩小 iTerm2 - Hotkey
其他比较好用的快捷键有
-
cmd + d
: 左右分屏 -
cmd + D
: 上下分屏 -
cmd + t
: 新开一个 tab 窗口 -
control + u
: 清除当前输入内容 -
control + a
: 将光标移到输入内容最前面 -
control + e
: 将光标移到输入内容最后面 -
control + b
: 将光标向前移动 -
control + f
: 将光标向后移动 -
cmd + 1, 2, 3, 4
: 分别切换 1, 2, 3, 4 tab -
option + 1, 2 3, 4
: 分别切换分屏的屏(注意这里我是改成了 option,具体参照上一个截图里的设置项)