MacOS终端美化及配置指南

Aengus Sun 980 2020-08-07

MacOS终端

MacOS的终端功能十分强大,但是初始的样式十分简单,仅仅是简单的白色字体,没有任何高亮功能,而作为程序员,每天都会和终端打交道,有一个美观的终端自然也会极大的提高开发幸福度。可以使用一些比较成熟的终端工具来代替终端,但也可以通过下面几个简单的步骤完成自己终端的改造。

终端美化

安装Oh My Zsh

在新版本的系统中,Mac下的默认终端已从bash切换为zsh,zsh功能很强大,但是配置较为繁琐,可以使用Oh My Zsh来简化zsh的配置,可以通过下面的方式安装Oh My Zsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

或者

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

经过短暂等待便可以完成安装。

Oh My Zsh也在GitHub上开源,开源地址

安装配色描述文件

终端已经自带了一部分配色,但是我们也可以安装其他喜欢的配色,Github上的仓库可以说是最全的主题仓库了,其中有大部分终端软件的配色描述文件,点击链接下载(下载后解压)或使用下列命令下载:

git clone https://github.com/mbadolato/iTerm2-Color-Schemes.git

下载完成后进入文件夹,其中terminal文件夹下便是给Mac终端使用的配色文件,以.terminal结尾。

打开终端,点击右上角“终端” ——“偏好设置”——“描述文件”,点击最下面设置图标按钮,点击“导入”,然后将对应的配色设置为默认就可以了。可以到官网上快速预览主题配色。

切换主题

Oh My Zsh内置了几款主题,可以在这个页面查看所有的主题并下载,并在这个页面对主题进行预览。

如果使用上面的命令安装的Oh My Zsh,可以使用下列的命令查看内置的所有主题:

cd /Users/你的用户名/.oh-my-zsh/themes
ls

记住自己喜欢的主题名,使用vim命令编辑.zshrc配置文件来切换主题:

vim ~/.zshrc

其中ZSH_THEME="agnoster"便设置了当前的主题,将主题名替换到双引号内保存退出,重启终端生效。

.zshrc这个文件除了保存了Oh My Zsh配置外,还担任保存环境变量的任务,之后所有需要永久生效的环境变量都可以放在这个文件中。

Zsh命令高亮

对于一些不常用的命令,如果我们想在输入时便知道命令是否正确,而不是点击了Enter后,便可以通过下面的步骤实现,最终的效果则是若输入的命令正确,则命令显示绿色,否则显示红色。除此之外命令的结果也有高亮显示。

首先切换到oh-my-zsh的插件所在目录并下载插件,其命令通常为:

cd ~/.oh-my-zsh/custom/plugins
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

然后修改上面提到的.zshrc文件,找到其中的plugins字段,在最后添加 zsh-syntax-highlighting,最终格式如下:

plugins=(git zsh-syntax-highlighting) # 前面是其他插件

除了高亮插件以外,还有其他插件都可以在https://github.com/zsh-users上找到,按照上面的操作即可安装。

Vim高亮及显示行号

Mac中的Vim默认不支持高亮及显示行号,但是可以通过很简单的设置开启。同样是在上面的.zshrc文件中,在其中添加以下两行:

export CLICOLOR=1
export LSCOLORS=ExGxFxdaCxDaDahbadeche

接着打开~目录下的.vimrc文件(若没有则创建一个),在其中添加以下内容并保存:

syntax on      // 高亮
set nu!        //显示行数
set autoindent //自动缩进

Tab键自动补全命令

Tab键补全命令同样是通过配置文件实现的,不过是在.inputrc文件中,通过以下命令进行:

cd ~
ls -a
# 检查是否有 .inputrc 文件
touch .inputrc # 没有这个文件就创建
vim .inputrc # 编辑

在文件中添加以下内容并重启终端即可:

et completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete

输入命令时,可以按Tab键进行补全,若同时有多个相似命令,也可以按Tab键进行切换。