Mac高效开发之iTerm2、Prezto和Solarized主题
本文首发于个人网站: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设置
Typora——>偏好设置——>外观——>获取主题,在打开的Web页面查找“Solarized”主题,下载该主题到本地。

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

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

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

IDEA设置
- 安装Solarized Theme插件,可以通过IDEA的插件市场,或者下载到本地再导入进行安装

- 在偏好设置中搜索theme,可以看到,主题设置可以在Appearance中进行设置

参考资料
- http://ericbanisadr.com/tutorials/solarizing-the-macos-terminal.html
- https://medium.com/@adrian.j.chen/iterm-tips-tricks-15bebf01fa51
本号专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。

Mac高效开发之iTerm2、Prezto和Solarized主题的更多相关文章
- 高效开发之SASS篇 灵异留白事件——图片下方无故留白 你会用::before、::after吗 link 与 @import之对比 学习前端前必知的——HTTP协议详解 深入了解——CSS3新增属性 菜鸟进阶——grunt $(#form :input)与$(#form input)的区别
高效开发之SASS篇 作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家 ...
- iOS_高效开发之道
iOS_高效开发之道 话不多说, 总结一下个人感觉有利于提高iOS开发效率的几个小技巧. 本文将从下面几方面介绍: Xcode经常使用快捷键 Xcode调试技巧 Objc经常使用代码片段 Xcode插 ...
- iOS高效开发之Xcode应用插件
前言:本文非原创 文章摘自 www.cocoachina.com/industry/20130918/7022.html 古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战 ...
- 高效开发之SASS篇
作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变 ...
- 高效开发之写demo
今天花了不少时间排查发现了几个明显的错误,但是相关开发人员就是没发现,自己改了一个流程影响到了其它的.最后解决问题的关键还是通过demo找到问题原因进而解决的. 这让我再次感觉到demo的重要性,以前 ...
- Android Studio快速开发之道
概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...
- [整理]Unity3D游戏开发之Lua
原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...
- iOS 开发之 GCD 基础
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...
- DarkStone - 跨平台移动应用开发之 Flex 的崛起
我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32) 此文章由 周戈 (DarkSton ...
随机推荐
- Spark Streaming 入门
概述 什么是 Spark Streaming? Spark Streaming is an extension of the core Spark API that enables scalable, ...
- Spring Boot 整合 Web 开发
这一节我们主要学习如何整合 Web 相关技术: Servlet Filter Listener 访问静态资源 文件上传 文件下载 Web三大基本组件分别是:Servlet,Listener,Filte ...
- eclipse与hadoop集成,运行wordCount1
搭好了hadoop集群之后,就该使用它了 第一步:下载hadoop eclipse的插件,将它放到eclipse\plugins的目录下,然后重启eclipse,点击windows->show ...
- Error running 'tomcat:run' Cannot run program..CreateProcess error=2,系统找不到指定的文件
Error running 'tomcat:run': Cannot run program "tomcat:run" (in directory "D:\WorkTes ...
- yzoj P2371 爬山 题解
背景 其实 Kano 曾经到过由乃⼭,当然这名字⼀看⼭主就是 Yuno 嘛.当年 Kano 看见了由乃⼭,内⼼突然涌出了⼀股杜甫会当凌绝顶,⼀览众⼭⼩的 豪⽓,于是毅然决定登⼭.但是 Kano 总是习 ...
- 洛谷:P5072 [Ynoi2015]盼君勿忘
原题地址:https://www.luogu.org/problem/P5072 题目简述 给定一个序列,每次查询一个区间[l,r]中所有子序列分别去重后的和mod p 思路 我们考虑每个数的贡献.即 ...
- 浅谈Java的内存模型以及交互
本文的内存模型只写虚拟机内存模型,物理机的不予描述. Java内存模型 在Java中,虚拟机将运行时区域分成6中,如下图: 程序计数器:用来记录当前线程执行到哪一步操作.在多 ...
- MongoDB 学习笔记之 分片和副本集混合运用
分片和副本集混合运用: 基本架构图: 搭建详细配置: 3个shard + 3个replicat set + 3个configserver + 3个Mongos shardrsname Primary ...
- HashMap 取数算法
Map,百度翻译给我的解释是映射,在Java编程中,它是存储键值对(key-value)的一种容器,也是Java程序员常用的对象.这篇博客介绍下HashMap的实现:java是面向对象编程语言,jdk ...
- 杂谈:开发人员如何进行复杂业务的学习?让boss刮目相看
一点小拙见,欢迎指正 一.概述 大型复杂的软件系统,是有许多人共同协作完成的,有些产品的业务是很复杂的,其在需求文档,及开发规范上都做得很好,不然维护的人越多,没有文档和规范去限制,岂不更加乱套. 如 ...