2018年更新:

使用过程中发现 agnoster 这个主题虽然美观,但是在实际使用过程中对用户来说并不是很友好,个人来说 ys 主题更适合我。

更改主题:

ZSH_THEME="ys"

  


  最近重装了系统,于是便重新配置了一下终端,使其更符合用户习惯。

效果如下:

拥有语法高亮,命令行tab补全,自动提示符,显示Git仓库状态等功能。

安装

首先我们下载的 iTem2 这个软件,比Mac自带的终端更加强大。直接官网 http://iterm2.com/ 下载并安装即可。

配置

将iTem2设置为默认终端:

(菜单栏)iTerm2 -> Make iTerm2 Default Term

然后打开偏好设置preference,选中Keys,勾选Hotkey下的Show/hide iTerm2 with a system-wide hotkey,将热键设置为command+. ,这样你就可以通过command+. 全局热键来打开或关闭iTerm2窗口,非常方便。

配色方案

我选用的是 solarized,效果还不错。点开官网,下载,解压,然后打开 iTerm2 下的偏好设置 preference ,点开 profiles 下的colors 选项,点击右下角的 Color Presets 选项,选择import ,导入解压到的 solarized 文件下的Solarized Dark.itermcolors

安装oh-my-zsh

github连接:https://github.com/robbyrussell/oh-my-zsh

使用 crul 安装:

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

或使用wget:

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

主题

安装成功后,用vim打开隐藏文件 .zshrc ,修改主题为 agnoster:

ZSH_THEME="agnoster"

应用这个主题需要特殊的字体支持,否则会出现乱码情况,这时我们来配置字体:

1.使用 Meslo 字体,点开连接点击 view raw 下载字体。

2.安装字体到系统字体册。

3.应用字体到iTerm2下,我自己喜欢将字号设置为14px,看着舒服(iTerm -> Preferences -> Profiles -> Text -> Change Font)。

4.重新打开iTerm2窗口,这时便可以看到效果了。

到这步我们的终端看上去已经非常好看了,这时我们来安装其它插件,让终端看起来更加风骚。

自动提示命令

当我们输入命令时,终端会自动提示你接下来可能要输入的命令,这时按 → 便可输出这些命令,非常方便。

设置如下:

1.克隆仓库到本地 ~/.oh-my-zsh/custom/plugins 路径下

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

2.用 vim 打开 .zshrc 文件,找到插件设置命令,默认是 plugins=(git) ,我们把它修改为

plugins=(zsh-autosuggestions git)

3.重新打开终端窗口。

PS:当你重新打开终端的时候可能看不到变化,可能你的字体颜色太淡了,我们把其改亮一些:

移动到 ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions 路径下

cd ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

用 vim 打开 zsh-autosuggestions.zsh 文件,修改 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' ( fg=10 在我电脑上显示良好)。

语法高亮

1.使用homebrew安装 zsh-syntax-highlighting 插件。

brew install zsh-syntax-highlighting

2.配置.zshrc文件,插入一行。

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

3.输入命令。

source ~/.zshrc

PS:安装homebrew包管理工具:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

*这时候打开终端窗口,你的终端看起来就和我的一样漂亮了~

*use it and enjoy it~

Mac下终端配置(item2 + oh-my-zsh + solarized配色方案)的更多相关文章

  1. Mac OS 终端强化美化:iterm2 + zsh + oh~my~zsh 设置教程

    为了获得更好的排版效果,文章改用markdown撰写,故重发一次. 前言 mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便, ...

  2. 记录--mac下终端内的环境变量问题

    一直使用的是前几年买的MacBook Air,当时感觉很轻薄,外观也非常的好看,也是一直用到现在,大概有三四年了,系统还是很流畅(实话,不是打广告......).平时也是经常要使用mac的终端,说实话 ...

  3. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  4. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  5. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  6. Mac下iTerm2配置lrzsz功能

    Mac下iTerm2配置lrzsz功能 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. 近期在mac上通 ...

  7. mac 下终端访问文件出现“Permission Denied”解决方案

    mac 下终端访问文件出现“Permission Denied”解决方案: 一个文件有3种权限,读.写.可执行,你这个文件没有可执行权限,需要加上可执行权限. 1. 终端下先 cd到该文件的目录下 2 ...

  8. Mac下 如何配置虚拟机软件Parallel Desktop--超详细

    Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...

  9. Mac下终端(terminal)的一些快捷键

    Mac下终端(terminal)的一些快捷键 行首ctrl + a 行尾ctrl + e 两个终端窗口切换alt + 方向键 命令中,上一个单词esc + b (iterm2) 下一个单词esc + ...

随机推荐

  1. 关于制作C语言头文件的思考

    我们接触的第一个c语言代码是这个: #include<stdio.h> main() { printf("Hello World"); } 这是最简单的c代码,然而,它 ...

  2. JavaScript 复制对象

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...

  3. ELK logstash 处理MySQL慢查询日志(初步)

    写在前面:在做ELK logstash 处理MySQL慢查询日志的时候出现的问题: 1.测试数据库没有慢日志,所以没有日志信息,导致 IP:9200/_plugin/head/界面异常(忽然出现日志数 ...

  4. Xcode旧项目引入CocoaPod遇到的问题与解决

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  5. 《快学Scala》——基础

    声明值和变量 用val定义的值实际上是常量.用var定义的值是变量.在scala中鼓励使用val.不需要给出值或变量的类型,这个信息可以通过初始化的表达式推断出来.(声明值和变量但不做初始化会报错) ...

  6. ReactiveCocoa学习总结(1)

    1. 它是什么? 官方解释: [RACSignal] is a push-driven stream with a focus on asynchronous event delivery throu ...

  7. vue视频学习笔记03

    video 3 git page:任何仓库 master分支,都可以发布(git page)-------------------------------------双向过滤器:Vue.filter( ...

  8. vue视频学习笔记01

    video 1 vue:读音: v-u-eview vue到底是什么?一个mvvm框架(库).和angular类似比较容易上手.小巧mvc:mvpmvvmmv*mvx官网:http://cn.vuej ...

  9. [刷题]算法竞赛入门经典(第2版) 5-9/UVa1596 - Bug Hunt

    //开学了,好烦啊啊啊啊啊!怎么开个学那么多破事情!!都俩星期了,终于有时间写出来一道题 题意:不难理解,不写了.这几天忙的心累. 代码:(Accepted, 0.010s) //UVa1596 - ...

  10. ThreadLocal源码解析

    主要用途 1)设计线程安全的类 2)存储无需共享的线程信息 设计思路 ThreadLocalMap原理 1)对象存储位置-->当前线程的ThreadLocalMap ThreadLocalMap ...