分享MacBook的终端(Terminal)美化

在98上好像没有看到Mac OS终端相关的帖子,那么我来分享一下吧。

Mac自带的终端没有文件名高亮等功能,而且界面比较单调,故lz做了如下美化,可以让自己使用起来更加方便,看起来更加舒服。

配置思路是iTerm2+Zsh+Oh-My-Zsh。关于这三个名词的介绍可以看文末。

0.效果图

final

1.安装iTerm2

官网:https://www.iterm2.com/

下载地址:https://www.iterm2.com/downloads.html

在官网下载安装包,将安装包移到应用程序,然后打开就可以使用。

也可以通过Homebrew安装

1
brew cask install iTerm2

安装完毕后,后面的操作都用这个终端来操作。这样可以看到直观效果。

2.zsh

macOS Mojave 之后已经自带了 Zsh

切换shell为zsh

1
chsh -s /bin/zsh

重新打开iTerm2

1
2
echo $SHELL
/bin/zsh

则表示成功

3.oh-my-zsh

1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

过程会跳出需要安装开发者工具,点击「安装」继续。

如果不成功,可以移步oh my zsh官网下载

安装完毕后,就会看见一个非常大字oh my zsh ,并且停留在“~” 状态下就表示已经安装完成。

zsh-update

4.主题下载与设定

接下来我们就可以对Oh My Zsh进行一些设定,这里是各种不同的主题风格Themes

我以我使用的主题agnoster为例,复现一遍过程。

首先我们编辑一下~/.zshrc文件

1
vim ~/.zshrc

找到ZSH_THEME 这行,并且将后面双引号内文字改成想要套用主题风格,按下i 键进入编辑模式,双引号内改成「agnoster」,最后按下esc 键退出编辑,并输入:wq 就可以保存退出vim 编辑模式。

如果你的vim没有高亮模式和行数,可以分别通过以下指令添加

1
echo 'syntax on' >> ~/.vimrc
1
echo 'set nu!' >> ~/.vimrc

设定完主题后输入以下指令即可实现效果

1
source ~/.zshrc

如果出现乱码文字,是因为缺少所需字体Powerline,看5

5.Powerline字体

由于agnoster 主题内夹带有特殊符号,需要另外安装Powerline 字体才能够正常显示,在终端机上输入底下安装Powerline 字体指令即可

1
2
3
cd ~/Downloads && git clone https://github.com/powerline/fonts.git
cd fonts && ./install.sh
cd && rm -rf ~/Downloads/fonts

下载好后,iterm2 -> Preferences -> Profiles -> Text -> Font -> Change Font,我使用的是firacode

6.一些增加幸福感的配置

  • 如果你想去掉shell每行前面的user@hostname,可以在第4步的~/.zshrc文件里添加DEFAULT_USER=$USER这一行(图中的第4行)

  • 这个插件可以让ls/vim等命令高丽显示github地址‘安装步骤如下

    1
    2
    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
  • iTerm2的preference里面有很多设置,比如透明度,背景图片,颜色主题等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
command + enter 进入与返回全屏模式
command + t 新建标签
command + w 关闭标签
command + 数字 command + 左右方向键 切换标签
command + enter 切换全屏
command + f 查找
command + d 水平分屏
command + shift + d 垂直分屏
command + option + 方向键 command + [ 或 command + ] 切换屏幕
command + ; 查看历史命令
command + shift + h 查看剪贴板历史
ctrl + u 清除当前行
ctrl + l 清屏
ctrl + a 到行首
ctrl + e 到行尾
ctrl + f/b 前进后退
ctrl + p 上一条命令
ctrl + r 搜索命令历史

7.名词解释

iTerm2

iTerm2是一款完全免费的,专为 Mac OS 用户打造的命令行应用,当然,也是程序员们的最爱。iTerm2本身支持很多自定义化的设置,比如自定义配色,自定义快捷键,方便的水平和垂直分屏功能,等等…… 毫不避讳的讲,说它是如今Mac下最好的终端工具也不为过。当然,日常工作与开发中,用它替代Mac自带的Terminal也是不二的选择。

Zsh

有了终端利器iTerm2,当然还得配上一款顺手的shell。众所周知,如今用得最广泛的默认shell,就是bash了,因为它也是很多Linux发行版默认带的shell。作为默认自带的shell,其特点,也就是:特点不是很明显 -_-# 不太方便的地方是:可定制性和可扩展性有限,自动补全功能不够强大…… 所以,既然用上了iTerm2,需要一款更为强大的shell来配合。首当推荐的就是Zsh了。

之所以叫Zsh,其含义是:

The last shell you’ll ever need!

可以理解为,一旦用上它,就别无所求了。跟Bash相比,Zsh的补全功能强大了许多,可以自动补全命令、参数、文件名、进程、用户名、变量、权限符,等等…… 另外,还支持插件,通过插件又可以扩展出许多功能来。

Oh My Zsh

既然有了Zsh,那Oh My Zsh又是啥呢?
因为 zsh 的默认配置极其复杂繁琐,让人望而却步,直到有了Oh My Zsh这个开源项目,让zsh配置降到0门槛。而且它完全兼容 bash 。所以,我们可以理解为Oh My Zsh是一个方便你配置和使用Zsh的一个开源工具。

VIM

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个.

8.Q&A

第一次写这样的文,有问题可以留言/站短呜呜呜。