本文首发于个人网站:Mac高效开发之iTerm2、Prezto和Solarized主题

工欲善其事必先利其器,作为开发,我追求极致的高效,因此会在很多细节上追求效率,例如:命令行窗口敲命令的时候,如果能善用快捷键,就可以在短时间内敲更多的命令;IDEA的快捷键如果用得熟,在同样时间内,就可以产出更多的代码。这篇文章主要总结了我对iTerm2的使用,延伸出来了Zsh的配置框架Prezto和护眼主题Solarized的安装和配置。

iTerm2

iTerm2是非常好用的终端,我在拿到新的Mac后,第一个安装的软件就是iTerm2。这里我总结了一些常用的iTerm2的快捷键,在平常工作中使用最高频,对效率提升最高的,列举如下。

快捷键 效果
Fn ← 跳到行首
Fn ➝ 跳到行尾
Control u 删除当前行
Option ← 跳到当前单词的第一个字母前面,以空格为分隔符
Option ➝ 跳到当前单词的尾部,以空格为分隔符
Control w 删除光标位置到当前单词第一个字母的内容
Cmd d 将当前Tab窗口纵向切分为两个子窗口
Cmd Shift d 将当前Tab窗口横向切分为两个子窗口
Cmd [ 在当前Tab页窗口中,移动到前一个子窗口
Cmd ] 在当前Tab页窗口中,移动到后一个子窗口
Cmd t 新建一个Tab页窗口
Cmd ← 移动到上一个Tab页窗口中
Cmd ➝ 移动到下一个Tab页窗口中
Cmd q 退出iTerm2程序
Cmd Shift ; 搜索历史执行过的命令
Cmd Shift h 搜索历史粘贴过的内容
Cmd option i 多个输入窗口个同时输入命令,非常适合用于同时操作多台机器的情况
Cmd option e 搜索多个窗口的内容

Prezto

Prezto是Zsh的配置框架,作用是简化Zsh的配置难度,Prezto的使用可以参考这两篇文章:prezto官网Customizing Your Prezto Prompt

根据第一篇文章安装好Prezto后,需要按需配置Prezto,配置文件是~/.zpreztorc文件,将历史记录补全、语法高亮、git等插件的功能打开,另外在选择主题的时候,可以根据命令prompt -l列举出所有的主题,根据prompt -p themename预览主题的样式。我使用的就是它经典的主题sorin,其他的主题没有尝试过,你可以根据自己的喜好安装和配置。

Solarized主题

作为开发人员,每天长时间对着各种编辑器,势必需要选择一款比较护眼的主题,Solarized主题作为最流行的主题之一,对眼睛的保护效果也非常好。Solarized主题分为浅色和深色主题,我平常主要使用的编辑器有:Typora、iTerm2、IDEA、Visual Studio Code,这里我总结了这四种编辑器设置Solarized主题的方法。

Typora设置

  1. Typora——>偏好设置——>外观——>获取主题,在打开的Web页面查找“Solarized”主题,下载该主题到本地。

  2. Typora——>偏好设置——>外观——>打开主题文件夹,将上一步下载的主题解压缩,然后将相关文件拷贝到Typora的主题文件夹中,如下图所示

  3. 在Typora的窗口页选择:主题——>Solarized Dark或Solarized即可,主题格式如下:

iTerm2设置

iTerm2现在的版本非常简单,自带了Solarized主题。通过iTerm2——>Preferences——>Profiles,打开配置窗口,选择Colors这个Tab页,在右下角有个下拉框可以选择,如下图所示:

IDEA设置

  1. 安装Solarized Theme插件,可以通过IDEA的插件市场,或者下载到本地再导入进行安装
  2. 在偏好设置中搜索theme,可以看到,主题设置可以在Appearance中进行设置

参考资料

  1. http://ericbanisadr.com/tutorials/solarizing-the-macos-terminal.html
  2. https://medium.com/@adrian.j.chen/iterm-tips-tricks-15bebf01fa51

本号专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。

Mac高效开发之iTerm2、Prezto和Solarized主题的更多相关文章

  1. 高效开发之SASS篇 灵异留白事件——图片下方无故留白 你会用::before、::after吗 link 与 @import之对比 学习前端前必知的——HTTP协议详解 深入了解——CSS3新增属性 菜鸟进阶——grunt $(#form :input)与$(#form input)的区别

    高效开发之SASS篇   作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家 ...

  2. iOS_高效开发之道

    iOS_高效开发之道 话不多说, 总结一下个人感觉有利于提高iOS开发效率的几个小技巧. 本文将从下面几方面介绍: Xcode经常使用快捷键 Xcode调试技巧 Objc经常使用代码片段 Xcode插 ...

  3. iOS高效开发之Xcode应用插件

    前言:本文非原创 文章摘自 www.cocoachina.com/industry/20130918/7022.html    古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战 ...

  4. 高效开发之SASS篇

    作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变 ...

  5. 高效开发之写demo

    今天花了不少时间排查发现了几个明显的错误,但是相关开发人员就是没发现,自己改了一个流程影响到了其它的.最后解决问题的关键还是通过demo找到问题原因进而解决的. 这让我再次感觉到demo的重要性,以前 ...

  6. Android Studio快速开发之道

    概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...

  7. [整理]Unity3D游戏开发之Lua

    原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...

  8. iOS 开发之 GCD 基础

    header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...

  9. DarkStone - 跨平台移动应用开发之 Flex 的崛起

    我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32)     此文章由 周戈 (DarkSton ...

随机推荐

  1. Spring MVC-从零开始-@RequestMapping结合@PathVariable (从URL路径中取值,作用于函数参数)

    1.可以直接在RequestMapping中value元素中使用{key}描述属性键 2.也可以在{key}中使用正则限定key的取值范围,从而限定url的变化范围 package com.jt; i ...

  2. mybatis简单入门介绍

    mybatis入门 简介 什么是mybatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及 ...

  3. unzip 命令指定解压路径

    在使用unzip进行文件包解压,可以用来解压zip/jar/war包类型,有时解压时需要解压到指定路径时可以使用参数 -d 来指定,例如: unzip services-bak.jar -d ./we ...

  4. SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储 (静态)

    1.所有节点安装 # zypper -n in ceph-common 复制 ceph.conf 到 worker 节点上 # scp admin:/etc/ceph/ceph.conf /etc/c ...

  5. 漫谈 GOF 设计模式在 Spring 框架中的实现

    原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. 漫谈 GOF 设计模式在 Spring ...

  6. Object.keys方法详解

    一.官方解释 Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 .如果对象的键-值都不 ...

  7. Vim 使用 DrawIt 画图

    简介 DrawIt 插件用来在 Vim 中进行简单的画图功能.可以方便地移动光标并画出横线.竖线.斜线.箭头和交叉字符,也带有实用的画图功能,轻松画带箭头的线.矩形及椭圆. 官方主页:https:// ...

  8. spring boot使用vue+vue-router构建单页面应用

    spring boot http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ vue https: ...

  9. Bribe the Prisoners SPOJ - GCJ1C09C

    Problem In a kingdom there are prison cells (numbered 1 to P) built to form a straight line segment. ...

  10. 了解ajax基本爬取方式

    '''爬去豆瓣电影数据了解ajax的基本爬去方式 ''' from urllib import requestimport jsonimport ssl url = "https://mov ...