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/ 直接下载安装 ...
随机推荐
- php持续推送信息到客户端的方法
<?php set_time_limit(0); $i=1; while($i++) { echo $i,'<br />'; ob_flush();//冲刷出(送出)输出缓冲区中的内 ...
- thinkphp的自动生成
第一,在index.php里定义 define('BIND_MODULE','Admin'); //自动生成Admin目录下的结构(默认生成IndexController) define('BUILD ...
- kali linux安装中文输入法
1.先安装VMware虚拟机,再安装kali linux ------------------------------------------------------------------ 2.安装 ...
- Java提高篇之抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...
- Mysql常用单词
Create 建造,创造Data数据Database数据库(缩写db)If如果Not没有Exists存在Table表Drop 去掉Delete删除Show展示Select选择Default默认Uniq ...
- S5PV210 时钟体系分析
S5PV210 时钟体系 如下面时钟结构图所示,S5PV210 中包含 3 大类时钟域, 分别是主系统时钟域(简称 MSYS).显示相关的时钟域(简称 DSYS). 外围设备的时钟域(简称 PSYS) ...
- jQuery基础教程
1.使用$()函数 $()函数其实是创建了一个jQuery对象. 这个函数接受CSS选择符作为参数,充当一个工厂, 返回包含页面中对应元素的jQuery对象. 所有能在样式表中使用的选择符都可以传给这 ...
- 【Java并发编程】18、PriorityBlockingQueue源码分析
PriorityBlockingQueue是一个基于数组实现的线程安全的无界队列,原理和内部结构跟PriorityQueue基本一样,只是多了个线程安全.javadoc里面提到一句,1:理论上是无界的 ...
- LintCode Binary Search
For a given sorted array (ascending order) and a target number, find the first index of this number ...
- BUGList
Django : a. MySQL数据表还未创建时,不可在视图内直接使用模型类对象,产生报错 django.db.utils.ProgrammingError: (1146, "Table ...