一年前,在搞终端的时候偶然一次机会,让我看到了各种强大的DIY界面,这让我很想去自己搞一个。于是在网上不断的寻找资源,也请教了大多数朋友。最终以失败告终。最近,本人又突然想起当时这件事,于是,决定边做笔记,边尝试当初失败的过程。经过一个晚上的时间,终于DIY出我梦寐以求的效果。

先放上最终DIY效果图:

DIY效果图

下面,我将分步骤讲解我是怎么一步一步完成DIY过程

1. 首先下载 iTerm 2

2. 打开iTerm 2

3. 输入下面指令安装oh-my-zsh

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

4. 接下来安装Powerline

在官网有教程,我们只需要执行官网第一条安装指令就行

如果你的终端能够正常执行pip指令,那么直接执行下面的指令可以完成安装

pip install powerline-status

如果没有,则先执行安装pip指令

sudo easy_install pip

5. 下载、安装库字体库

1)将工程下载下来后cd到install.sh文件所在目录

2)执行指令安装字体库

执行./install.sh指令安装所有Powerline字体

安装完成后提示所有字体均已下载到/Users/superdanny/Library/Fonts路径下

All Powerline fonts installed to /Users/superdanny/Library/Fonts

6. 设置iTerm 2的Regular Font 和 Non-ASCII Font

安装完字体库之后,把iTerm 2的设置里的Profile中的Text 选项卡中里的Regular FontNon-ASCII Font的字体都设置成 Powerline的字体,我这里设置的字体是12pt Meslo LG S DZ Regular for Powerline

设置iTerm 2

7. 配色方案

1)安装配色方案

进入刚刚下载的工程的solarized/iterm2-colors-solarized 下双击 Solarized Dark.itermcolorsSolarized Light.itermcolors 两个文件就可以把配置文件导入到 iTerm2 里

2)配置配色方案

通过load presets选择刚刚安装的配色主题即可

配色方案

8. 使用agnoster主题

1)下载agnoster主题
到下载的工程里面运行install文件,主题将安装到~/.oh-my-zsh/themes目录下

2)设置该主题
进入~/.zshrc打开.zshrc文件,然后将ZSH_THEME后面的字段改为agnosterZSH_THEME="agnoster"(agnoster即为要设置的主题)

9. 增加指令高亮效果——zsh-syntax-highlighting

指令高亮效果作用是当用户输入正确命令时指令会绿色高亮,错误时命令红色高亮

1)cd到.zshrc所在目录

2)执行指令将工程克隆到当前目录

git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

3)打开.zshrc文件,在最后添加下面内容

source XXX/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

保存文件。

注意:xxx代表.zshrc所在目录

4)cd ~/.oh-my-zsh/custom/plugins

5)再次打开.zshrc文件,在最后面添加下面内容

plugins=(zsh-syntax-highlighting)

保存文件。


问题解答区

  1. 启动iTerm 2 默认使用dash改用zsh解决方法:
    chsh -s /bin/zsh
  2. 执行指令pip install powerline-status出错解决方法:
    需要下载苹果官方的Command line。必須官方工具下载最新版 Command Line
  3. ⌘+Q关闭iTerm 2 时每次弹窗提示问题:
    iTerm 2 中,进入Preference-General-Closing栏目,将Confirm "Quit iTerm2(⌘Q)" command选项勾选去掉就行
  4. 找不到.zshrc文件问题:
    我这里将我的.zshrc文件分享出来。供大家下载网盘
文/SuperDanny(简书作者)
原文链接:http://www.jianshu.com/p/7de00c73a2bb
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iTerm 2 && Oh My Zsh的更多相关文章

  1. Mac终端配置,DIY你的Terminal (iTerm 2 + Oh My Zsh)

    使用mac osx一年以来,自带的Terminal终端一直都是白底黑字,食之无味,越来越缺乏新鲜感,怎么也得想个法子来刺激下眼球. 不然花那么多大洋买你回来是要哪般,难道真是为来学习工作??? 怎么可 ...

  2. Mac下在zsh中配置adb命令

    Mac下自带的终端默认黑白色的,对于一个技术宅来说不能忍啊.然后换成了iTerm,安装上了zsh,安装后界面如下: 这里写图片描述 但是常用的adb命令却找不到了,还向github上提了issue,下 ...

  3. Mac 配置教程-开发篇

    将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 图床 iPic 设置快捷键 Command+Shift+u ...

  4. iterm2 学习笔记

    itrem 笔记 选中即复制,有两种方式. 在新Tab中自动使用前一Tab路径,该怎么用? 系统热键:option+space 自动完成:输入打头几个字母,然后输入command+“;” iterm2 ...

  5. 关于iTerm和Zsh

    关于iTerm和Zsh 终于我还是踏入了Zsh的行列,时间有点紧张,要开始做毕设了,关于Zsh和iTerm的好处我就不多说了哈,以后有时间再聊哈 Installation install Zsh 使用 ...

  6. Mac下brew/memcached/nginx/iterm/zsh的安装

    brew  https://www.cnblogs.com/fireworld/p/8609190.html memcached https://blog.csdn.net/whereismatrix ...

  7. iTerm的安装以及配置Oh My Zsh

    iTerm说简单点就是Windows的命令提示符,可能说这个大家感觉没用过,其实也就是人们经常使用CMD,相当于苹果的终端,但是比自带的终端强大多了. 本文就是简单的说一下安装和简单的配置过程. 首先 ...

  8. mac工作软件推荐-iterm + zsh + tmux

    原文链接: http://ju.outofmemory.cn/entry/57244 tmux安装https://blog.csdn.net/nmgzywd/article/details/50915 ...

  9. Mac OSX:Powerline风格的zsh配置

    需要的工具 iTerm,一个替代OSX自带终端的软件,基于iTerm才能实现上面的效果: oh-my-zsh,zsh是OSX上最强大的shell,没有之一,但是配置过程较为复杂,这个脚本能够帮你一键配 ...

随机推荐

  1. 关于MapReduce中自定义分组类(三)

    Job类  /**    * Define the comparator that controls which keys are grouped together    * for a single ...

  2. 每天写点shell--命令行参数

    1.读取参数:位置参数变量是标准的数字: $0是程序名, $1是第一个参数, $2是第二个参数... #!/bin/bash # using one command line parameter fa ...

  3. 使用xib封装一个view的步骤

    1.新建一个xib文件描述一个view的内部结构(假设叫做SSTgCell.xib) 2.新建一个自定义的类 (自定义类需要继承自系统自带的view, 继承自哪个类,  取决于xib根对象的Class ...

  4. scrollView滚动原理

    首先要明确的是,scrollview 其实和普通的 view 并没有多大的差别,只不过给它加上了一些手势和约定. 我们知道,要让一个 scrollview 能够滚动的方法是设置它的 contentSi ...

  5. Android 的Parcelable接口

    此文转载自http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html 1. Parcelable接口 Interface ...

  6. Python中两种处理错误方法的比较

    我所说的处理错误的方法,其实是try:,except和raise这两种. 首先抛出一个实例, dictt={'a':1,'b':2,'c':3} try: if dictt['d']>1: #字 ...

  7. Ecmascript 6新特性

    声明变量由var变成let.let实际上为JavaScript新增了块级作用域.let与var相比具有的特性有 1.不允许重复声明一个变量 var a=5; var a=7; let b=6; let ...

  8. arm汇编指令

    ARM处理器的指令集可以分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.加载/存储指令.协处理器指令和异常产生指令6大指令 一.跳转指令 跳转指令用于实现程序流程的跳转 跳转指令分类 Ⅰ ...

  9. MVC中使用Entity Framework 基于方法的查询学习笔记 (三)

    紧接上文,我们已经学习了MVC数据上下文中两个常用的类,这两个类承载着利用函数方式进行数据查询的全部内容,我们既然已经了解了DbSet<TEntity> 是一个泛型集合,并且实现了一些接口 ...

  10. Node.js配合node-http-proxy解决本地开发ajax跨域问题

    情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦) 2. ...