Mac OS X 下优化 Terminal,一篇就够了!
先上最终效果图:

目录
1. 相关工具介绍
- iTerm2: Terminal 终端的替代品,拥有更多强大的功能,想了解更多请戳 iTerm2 官网;
- XCode’s Command line tools: 开发环境集成,包含 git、gcc 等重要工具;
- zsh:Linux 的一种 shell 外壳,强大的虚拟终端,和 bash 属于同类产品,OS X 已自带;
- Oh-My-Zsh: 用来管理 zsh 的配置,同时还有很多社区贡献的主题配置以及好用的插件可供使用,了解更多请戳 Oh-My-Zsh 官网;
2. 配置总览
- iTerm2
- Oh-My-Zsh
- agnoster 主题
- zsh 命令语法高亮
3. 安装步骤
3.1. 安装 iTerm2
进入官网下载页面,点击 Stable Releases 下面的 Download 即可下载,解压后拖到应用程序中。这是简单的一小步,但是却是优化 Terminal 的一大步!
PS: 网络环境不太好的同学不要担心,我已经把安装包传到百度云了,请到文章最后寻找链接下载。
3.2. 安装XCode’s Command line tools
XCode13个G,这里我们只需要XCode’s Command line tools来支撑Git的使用,所以我们不用费时费力装XCode来浪费那13个G。
(从Yosemite(10.10+)开始,Command Line Tools可以单独安装。)
安装方法: 打开终端,输入
xcode-select –install
点 install ,同意,即可。
3.3. 检查 zsh 是否已安装
在命令行输入:
zsh --version
如果显示
zsh 5.3 (x86_64-apple-darwin17.0)
即zsh的当前版本号,就说明装好了,一般 OS X 自带有的。
如果没装则需要输入:
brew install zsh zsh-completions
这是用Homebrew装,需要 OS X 上有Homebrew,它的网站:https://brew.sh/
3.4. 安装 Oh-My-Zsh
可以通过 curl 或者 wget 来安装
- curl
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- wget
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
网络好的话几秒就装好了。
一般安装程序会自动把默认的 shell 切换为 zsh, 什么!你不懂 shell 是什么?我也不懂,你去问问度娘?或者直接右上角?其实不懂也正常,也不影响你拥有自己美美的终端。
如果想修改默认 shell 为原来的 bash:
chsh -s /bin/bash
重启 iTerm2 就好了。
3.5. 安装 Powerline fonts
华丽丽的主题需要 Powerline 字符集的支持。
通过 git 安装, 直接执行以下命令行:
git clone https://github.com/powerline/fonts.git --depth=1; cd fonts; ./install.sh; cd ..; rm -rf fonts
然后到 iterm2 配置,设置字体
- 打开 Preferences,选择 Profiles

- 选择 Text,点击 Change Font

- 选择固定宽度,选择自己喜欢的字体。注意: iTerm2 可以实时看到效果,结尾不是
for Powerline的会乱码。

- 接着修改字体颜色,选择另一项
Colors, 点击Color Presets, 选择Solarized Dark


3.6. 安装配置主题
装好之后就可以换到 agnoster 主题,Oh My Zsh 一般自带有这个主题。
可以看看其它的默认主题:
ls ~/.oh-my-zsh/themes
需要修改主题只需:
vim ~/.zshrc
然后把里面 ZSH_THEME 的值改为 ZSH_THEME="agnoster",保存退出。
修改和保存的过程为:
- 按下
i开始编辑 - 通过方向键控制光标的位置
- 定位到
ZSH_THEME - 改为
ZSH_THEME="agnoster" - 按下
ESC, 输入:wq, 回车 - 搞定!
(点击这里还有各种主题预览,任君翻牌~)
3.7. 修改命令提示符
默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,因此我选择将该冗长的提示符去掉,在 ~/.zshrc 配置文件后面追加如下内容:
# 注意:DEFAULT_USER 的值必须要是系统用户名才能生效
DEFAULT_USER="user"
编辑方法同上。
3.8. 配置 zsh 命令语法高亮
zsh-syntax-highlighting 插件可以使你终端输入的命令有语法高亮效果,安装方法如下(oh-my-zsh 插件管理的方式安装):
复制文件到插件目录
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
修改
~/.zshrc添加插件# 注意:zsh-syntax-highlighting 必须放在最后面(官方推荐)
plugins=( [plugins...] zsh-syntax-highlighting)

应用修改
source ~/.zshrc
大功告成有问题欢迎留言讨论
4. 备用下载链接
iTerm2 ( 3.2.0 ): 链接: https://pan.baidu.com/s/1Wm7NjtGfA81LpGFYAaEAPQ 密码: ksgv
5. 参考及感谢
- 我的 Mac 终端配置(Mac OSX + iTerm2 + Zsh + Oh-My-Zsh)
- iTerm2 + OhMyZsh + agnoster + Powerline + solarized = 漂亮的Mac终端
Mac OS X 下优化 Terminal,一篇就够了!的更多相关文章
- Mac OS X 下安装使用 Docker (2017年7月)
两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...
- 在Mac OS X下安装Android Studio
在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装 ...
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍(补充)
上一篇:Mac OS平台下应用程序安装包制作工具Packages的使用介绍 补充说明 上一篇文章中介绍了如何使用Packages如何创建mac下的安装包.但是这样制作出来的安装包只能安装到系统的文件路 ...
- 在 Mac OS X 下,如何向 sudoers 文件添加新用户
注: 1.使用待添加的用户名替换"username". 2.以下涉及输入的标点符号均为半角字符,即英文输入法下的标点符号. 以管理员账号密码登录 Mac OS X,打开 Termi ...
- 在Mac OS X 下快速安装Nginx
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica; color: #8e68ff } p.p2 { margin: 0.0p ...
- 桂电在linux、Mac OS环境下使用出校器(支持2.14)
这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...
- 在MAC OS X下安装usb转串口驱动(PL2303主控芯片)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 因为最近手里有一块STM32Discovery开发板,所以想搞一下STM32的开发,我前面的 ...
- Qt在Mac OS X下的编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...
- Mac OS X下环境搭建 Sublime Text 2 环境变量配置 开发工具配置Golang (Go语言)
Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装 ...
随机推荐
- LoadRuner12.53教程(一)
LoadRunner教程 L o a d R u n n e r jiào教 chéng程 Welcome to the LoadRunner tutori ...
- SpringBoot(2) Json框架 -- Jackson返回结果处理
一.常用框架 阿里 fastjson,谷歌gson等 JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构 Ja ...
- FFmpeg流媒体处理-收流与推流
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10623968.html 1. 简介 流媒体是使用了流式传输的多媒体应用技术.如下是维基百 ...
- MJPEG 格式分析
MJPEG简介 MJPEG(技术即运动静止图像(或逐帧)压缩技术)是24-bit的"true-color"影像标准.MJPEG的工作是将RGB格式的影像转换成YCrCB格式,目的是 ...
- Linux NFS存储服务部署
什么是NFS 中文意思是网络文件系统,主要功能是通过网络(一般是局域网)让不同主机之间可以共享文件或目录 NFS属于本地文件存储服务 缺点1: 1 2 3 4 5 6 7 windows上无法使用 ...
- mysql允许所有机器访问
1.进入到MySQL安装的bin目录. 2.运行mysql -uroot 3. 授权用户,你想root使用密码从任何主机连接到mysql服务器 GRANT ALL PRIVILEGES ON *.* ...
- 【Java深入研究】8、Java中Unsafe类详解
java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1.通过Unsafe类可以分配内存,可以释放内存: 类中提供的3个本地方法all ...
- The Maze Makers(csu1566)
1566: The Maze Makers Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 90 Solved: 33[Submit][Status][ ...
- 利用反射调用注解,模仿Spring
简介 在开发中,我们经常用的就是利用@RequestMapping来调用我们自己的逻辑,现在我们来创建属于自己的注解模仿一下它. 1.新建属于自己的注解@SeayaMapping @Target({E ...
- js查询数组或者List类型是否包含某个元素
方法一:arr.indexOf(某元素) 实际用法:if(arr.indexOf(某元素) > -1){//则包含该元素} 例: var fruits = ["Banana" ...