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

完成配置后的终端具备功能:

  1. 语法高亮
  2. 命令行tab补全
  3. 自动提示符
  4. 显示Git仓库状态等功能
  5. ⌘+r 快速清空代码面板,跟终端输入clear一样的效果
    ***

安装步骤

1. 下载iTerm2

2. 解压后安装iTerm2并打开

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

    3. 配色方案

    选用 solarized,下载解压,然后打开 iTerm2 下的偏好设置 preference ,点开 profiles 下的colors 选项,点击右下角的 Color Presets 选项,选择import ,导入解压到的 solarized 文件下的Solarized Dark.itermcolors

4. 安装oh-my-zsh

github:https://github.com/robbyrussell/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.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

5. 配置主题

安装oh-my-zsh成功后

  1. 用 vim 编辑隐藏文件 .zshrc, 终端输入vi ~/.zshrc
    ZSH_THEME="agnoster" 将zsh主题修改为“agnoster”
  2. 应用“agnoster”主题需要特殊的字体支持,否则会出现乱码情况,
    使用 Meslo 字体,点开链接点击 view raw 下载字体
  3. 安装字体到系统字体册
  4. 在iTerm2中应用字体 iTerm -> Preferences -> Profiles -> Text -> Change Font)

  5. 重新打开iTerm2窗口(或新打开一个iTerm2窗口)即可以看到字体效果

6. 自动提示与命令补全

比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)

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

  1. cd ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
  2. 用 vim 编辑 zsh-autosuggestions.zsh 文件,修改ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'

7. 语法高亮效果

  1. 使用homebrew包管理工具安装 zsh-syntax-highlighting 插件
    brew install zsh-syntax-highlighting
    如果电脑上还没有安装homebrew,请先安装homebrew
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 配置.zshrc文件,插入一行
    source /xxx/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    (注意: /xxx/ 代表.zshrc所在的路径)
  3. 加载.zshrc配置
    source ~/.zshrc
  4. 重新打开iTerm2窗口(或新打开一个iTerm2窗口)即可以看到效果

扩展

  1. iTerm2 默认使用dash改用zsh解决方法:chsh -s /bin/zsh
  2. iTerm2 zsh切换回原来的dash:chsh -s /bin/bash
  3. 卸载oh my zsh,在命令行输入:uninstall_oh_my_zsh
  4. 路径前缀的XX@XX太长,缩短问题:
    编辑~/.oh-my-zsh/themes/agnoster.zsh-theme主体文件,将里面的build_prompt下的prompt_context字段在前面加#注释掉即可

作者:以乐之名
本文原创,有不当的地方欢迎指出。转载请指明出处。

Mac终端配置,DIY你的Terminal (iTerm 2 + Oh My Zsh)的更多相关文章

  1. mac终端配置Android ADB命令

    不得不说mac是一款开发利器,不仅可以开发ios,而且对于Android开发也是不错的选择,下面我就对mac配置adb命令,进行简要的说明.下面我将一下mac环境下的配置步骤:1.在自己的目录(hom ...

  2. ITerm让MAC终端更加灵活高效

    一.ITerm2简介 1.安装 iTerm2 是一款完全免费的,专为 Mac OS 用户打造的命令行应用.直接在官网上http://iterm2.com/ 下载并安装即可. 2.配置 设置ITerm为 ...

  3. MAC 终端terminal颜色

    Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreutils替换Mac的ls命令: Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreuti ...

  4. mac终端terminal快捷键:

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } span.s1 { } p.p1 { m ...

  5. mac终端terminal快捷键

    mac终端terminal快捷键: Command + K 清屏 Command + T 新建标签 Command +W  关闭当前标签页 Command + S  保存终端输出 Command + ...

  6. MySQL Mac 终端环境变量配置

    MySQL Mac 终端环境变量配置 这里安装的是mysql-8.0.26-macos11-x86_64,M1Mac,原本打算安装arm64版本,但一直安装不了,就装了x86版本 安装完成MySQL之 ...

  7. 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置

    一.创建可以同时运行在xcode和eclipse的项目: 1.打开mac终端,进入cocos2d-x目录下的tools/project-creator,执行命令./create_project.py ...

  8. mac 终端(terminal) 启动tomcat

    mac 终端启动tomcat: 找到你的tomcat安装的根目录:找到bin目录,在终端 cd 到这个bin中,输入sudo ./startup.sh (然后终端会提示你输入本机密码如果是在需要权限的 ...

  9. Mac终端命令行提示符格式更改方法

    内容提要: 主要是通过~/.bash_profile文件更改环境变量PS1,修改命令行提示符的显示格式,并展示不同颜色. 本文介绍了默认设置的缺陷,以及需要用到的基础知识,最后介绍了更改命令行提示符格 ...

随机推荐

  1. [转]深入理解mysqldump原理

    本文转至:http://blog.csdn.net/cug_jiang126com/article/details/49824471 在mysqldump过程中,之前其实一直不是很理解为什么加了--s ...

  2. 工作总结(一):Linux C

    这三个月以来一直忙着赶进度,没有停下来记录一些东西,很多很好的东西往往只能零零散散地记在草稿本上, 这样偶尔想起来自己都找不到,所以现在抽空总结下来. 这些天做了三件事,其一是在Linux下开发了对接 ...

  3. Java网络技术-待续

    TCP Sockets基础     Sockets,是用户程序与TCP/IP协议的中介.     实现TCP Sockets通信,需要本地IP和端口,对方IP和端口.客户端发通信请求,发送或接收流,关 ...

  4. Hdu2068 RPG的错排 2017-06-27 15:27 30人阅读 评论(0) 收藏

    RPG的错排 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  5. ES版本控制

    版本控制 ElasticSearch采用了乐观锁来保证数据的一致性,也就是说,当用户对document进行操作时,并不需要对该doucument作加锁和解锁的操作,只需要指定要操作的版本即可.当版本号 ...

  6. DDL和DML的区别

    DML(data Manipulation Language)数据库操纵语言: 使用范围:对数据库中的数据进行一些简单的操作,如IDUS(增删改查) DDL(Data Definiton Langua ...

  7. artificial neural network in spark MLLib

    神经网络模型 每个node包含两种操作:线性变换(仿射变换)和激发函数(activation function). 其中仿射变换是通用的,而激发函数可以很多种,如下图. MLLib中实现ANN 使用两 ...

  8. 在线安装WordPress更新 失败的解决办法

    1.  登录ftp登录不上 , 总是登录失败 在服务器上新建了一个vsftpd服务器,并设置了相应的虚拟用户,修改chroot到网站目录 相关连接:https://blog.csdn.net/zhan ...

  9. Apache-通过CGI执行脚本

    1.配置服务器,开启注释 vim /etc/httpd/conf/httpd.conf 292 # (You will also need to add "ExecCGI" to ...

  10. Mac使用brew安装nginx,并解决端口访问权限问题

    1.安装 brew install nginx 2.修改配置文件 sudo vi /usr/local/etc/nginx/nginx.conf 修改默认的8080端口为80 修改日志文件地方 err ...