使用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. Memory Allocation Error

    Memory allocation error happened when I tried to install MySQL 5.7.13 in my server, which has 2G mem ...

  2. 比较两个Excle表格的修改内容

    //输入参数为文件输入流public static Map<String, List<String>> excelColumn2maplist(InputStream is){ ...

  3. python 开发学习

    https://www.cnblogs.com/wj-1314/p/8476197.html

  4. ubuntu下Node.js环境搭建

    Node.js是一个能够在服务器端运行JavaScript的开放源代码.跨平台JavaScript运行环境.Node.js由Node.js基金会持有和维护,并与Linux基金会有合作关系.Node.j ...

  5. 通过 NewLife.XCode 迁移任意现有数据库到任意数据库

    通过 NewLife.XCode 迁移任意现有数据库到任意数据库(附分表分库方法) 本文背景是将其他系统的数据库迁移到另一个数据库(仅需 20 行代码),也可以作为项目迁移用,生成自己系统的专属实体代 ...

  6. Flask系列04--Flask的蓝图

    flask蓝图 一.蓝图 蓝图(Blueprint),类似于实现django中路由分发那种感觉, 可以把Blueprint理解为不能被run的Flask对象 Blueprint实例化时需要的参数 基本 ...

  7. MariaDB 主从同步与热备(14)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...

  8. phpMyadmin提权那些事

    i春秋作家:anyedt phpMyadmin提权那些事 引言:在渗透测试过程中获知到phpMyadmin的账号密码,如何进行提权呢?往下看,我今天和你说说phpMyadmin提权那些事. 0×00 ...

  9. [转载]SystemD strikes again : Unit X.mount is bound to inactive unit

    http://mamchenkov.net/wordpress/2017/11/09/systemd-strikes-again-unit-var-whatever-mount-is-bound-to ...

  10. Spring Boot使用@Async实现异步调用:自定义线程池

    前面的章节中,我们介绍了使用@Async注解来实现异步调用,但是,对于这些异步执行的控制是我们保障自身应用健康的基本技能.本文我们就来学习一下,如果通过自定义线程池的方式来控制异步调用的并发. 定义线 ...