打造程序员的高效生产力工具-mac篇
打造程序员的高效生产力工具-mac篇
1 概述
古语有云:“工欲善其事,必先利其器” [1] ,作为一个程序员,他最重要的生产资源是脑力知识,最重要的生产工具是什么?电脑。
在进行重要的脑力成果输出前,有必要先“利其器”,为自己打造一台专门为程序员而生的电脑生产平台。以保证自己高效地工作和产出。
本系统的主要适用群体为互联网行业的开发人员和环境配置指导,主要目的是让Mac成为程序员的重要的智力成果输出工具。
2 开发环境
对于软件开发人员来说,基本上绝大多数的IDE都有主流平台(Windows/Mac/Linux)的解决方案,下面只陈列出来的都是有免费可用的版本(不用破解或者盗版)。
- Java开发:Eclipse [2]
- 前端开发:WebStorm [3]
- Python开发:Pycharm [4]
- 前端调试:Chrome [5]、Firefox [6]
- Mongodbo数据库客户端:Robomongo [7]
- Android开发:Android Studio [8]
- 思维导图工具:Xmind [9]
基本上可以这么说:除非一些针对具体的平台做本地化底层开发外,MAC基本上可以胜任各种应用程序的开发。这一点,在设计领域也是一样的。基本上Win下有解决方案的,在Mac下也会有相同的解决方案。
3 文档写作
传统的办公套件:
- Microsoft Office
-
- Word
- Excel
- PowerPoint

- Mac Office
-
- Pages
- Numbers
- KeyNote

但是以上工具可能并不适合开发人员,开发人员的实力完全有更Geek更高效的解决方案。
以下方案可以纯本地化写作,而且配合git做版本管理
- Markdown写作
-
- Mou
- MacDown
- ReText写作
-
- SublimeText+OmniMarkupPreviewer插件
- Python+docutils+restview
ReText写作和即时预览效果如下:

或者使用支持Markdown的在线笔记进行同步:
- 印象笔记+马克飞象工具
- 为知笔记
流程图工具:
- Axure
备注:在Mac没有找到好的类似于Visio这样的本地化解决这那,但是使用原本绘制原型设计图的Axure可以比较好的弥补这一短板。
绘制出的流程图效果:

4 终端工具
作为一个互联网的软件开发人员,打交道最多的可能就是命令行终端了。在Mac下有很好的终端解决方案:
- iTerm2
这是一个 第三方免费 提供的强大的终端软件,可以完全替代系统的简单的终端工具。
熟悉此终端操作的人,完全可以从Linux系统无缝过渡到Mac。
几大特色:
- 支持多标签
- 支持横向和纵向分屏
- 支持全局调出显示终端
- 支持z-shell安装
- 支持强大的快捷键
更多的使用技巧:
- 设置开机启动
- 设置显示窗口模式
- 设置全局快捷键随时快速打开终端
- 在Finder的当前目录打开终端
- 设置全屏模式下显示多标签
- 了解快捷键,快速实现标签切换
- 设置新建Tab路径为前一Tab的工作路径
这些技巧的详细操作,用户可以自己网上搜索,本文只告之是可以实现的,并提供相应搜索关键字。
使用效果(设置了半透明):

备注:以上的 “在Finder的当前目录打开终端” 的实现,需要借助于第三方的应用,用户只需要下载 Go2Shell 进行简单配置即可,在Finder应用的工具栏中直接点击按钮,就可以当前目录为路径打开终端,避免了在终端中繁杂的路径切换。

5 其它使用技巧
熟练如下操作之后,能够让工作窗口的切换变得高效快捷:
- 了解多个Space的切换手势或者快捷键
- 熟练双屏下的多个Space的切换
- 了解其它的经常使用的快捷键
多个工作空间Space的切换效果(在触摸板上四指上扫的动作):

6 小结
网传“MacOSX是对程序员最友好的生产力平台”,入坑后,发现确实如此。
本人是从Linux平台转移过来的,如果之前对Linux平台比较熟悉的,完全可以平滑过渡。
欢迎大家入坑。
本来想出两个平台的开发人员环境配置指南:Linux版和Mac版的。但是后来想想这样做重复的搬砖工作不是我的风格,就专注于Mac的特点只写这一篇了吧。
参考文献 :
| [1] | 《论语·卫灵公》 |
| [2] | Eclipse Mac 版下载 |
| [3] | WebStorm Mac 版下载 |
| [4] | Pycharm Mac 版下载 |
| [5] | Chrome Mac 版下载 |
| [6] | Firefox Mac 版下载 |
| [7] | Robomongo Mac 版下载 |
| [8] | Android Studio Mac 版下载 |
| [9] | Xmind Mac 版下载 |
| 作者: | Harmo哈莫 |
|---|---|
| 作者介绍: | https://zhengwh.github.io |
| 技术博客: | http://www.cnblogs.com/beer |
| Email: | dreamzsm@gmail.com |
| QQ: | 1295351490 |
| 时间: | 2016-02 |
| 版权声明: | 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】 |
| 支持本文: | 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】 |
| 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】 |
打造程序员的高效生产力工具-mac篇的更多相关文章
- Git学习总结(6)——作为一名程序员这些代码托管工具你都知道吗?
作为一名程序员这些代码托管工具你都知道吗? 作为一名优秀的开发者,大家都会用到代码托管,我本人用的是github,确实github里面有很多很多开源的项目,所以我们目前的创业项目程序员客栈www.pr ...
- 好程序员web前端分享HTML基础篇
好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...
- 解析:为什么程序员应该有一台Mac个人电脑?
对于开发来讲,使用Mac电脑的好处,下面简单列举几个: 首先,macOS很安全和稳定,Mac 系统的底层是最原始的unix操作系统,很多大型的银行和军工企业都是这个操作系统,安全性很高,基本不需要安装 ...
- BAT程序员常用的开发工具,建议收藏!
今天给大家推荐一批 BAT 公司常用的开发工具,个个好用,建议转发+收藏. 阿里篇 一.Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊 ...
- Python超级程序员使用的开发工具
我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ...
- 5款Python程序员高频使用开发工具推荐
很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...
- 为什么程序员应该有一台 Mac 个人电脑
阅读本文大概需要 5.4 分钟. 对于开发来讲,使用 Mac 电脑的好处,下面简单列举几个: 首先,macOS 很安全和稳定,Mac 系统的底层是最原始的 unix 操作系统,很多大型的银行和军工企业 ...
- Web程序员必备的CSS工具
对于web开发来说,CSS是最有效的美化页面.设置页面布局的技术.但问题是,CSS是一种标记性语言,语法结构非常的松散.不严谨.WEB程序员会经常发现自己的或别人的CSS文件里有大量的冗余代码或错误或 ...
- windows/Linux下的程序员文档浏览工具
Dash + Alfred https://www.jianshu.com/p/77d2bf8df81f 对于程序员来说,查看api文档是非常频繁,经常窗口之间切换非常麻烦,mac下就有一个查文档的神 ...
随机推荐
- UnrealScript语言基础
总体特征 (1)大小写不敏感.关键字.宏.变量名.函数名以及类名不区分大小写:变量名可以与关键字同名 (2)局部变量.成员变量未初始化时,会被编译器初始化 (3)没有全局变量.全局函数,所有东西必须写 ...
- Spring-boot 开发Web应用
动态修改Freemarker模版: 设置模版属性: spring.freemarker.cache=false 启动应用方式有两种: a. 运行main()函数启动应用:则修改完模版文件后,需要把 ...
- EF中扩展出Between操作符 (修订版)
随手记录一下,这是针对原文错误的修改. 原文:EF中扩展出Between操作符 直接使用是错误的,修改后的扩展方法: /// <summary> /// 扩展 Between 操作符 // ...
- Python-类的属性
类的属性,可以称为成员变量 类的方法,可以称为成员函数 对象的创建 - 创建对象的过程称之为实例化:当一个对象被创建后,包含三个方面的特性:对象句柄.属性和方法. - 句柄用于区分不同的对象(实例 ...
- Go语言 获取get、post参数
在贴代码之前如果能先理解一下golang http.request的三个属性Form.PostForm.MultipartForm应该能较好的理解代码,下面摘录一下. 以上简要翻译一下: Form:存 ...
- 关于SVN出现 svn working copy locked的原因及解决方法
今天使用SVN时电脑卡住了,于是结束进程中断了SVN的操作,于是出现了如题问题, 产生这种情况大多是因为上次svn更新命令执行失败且被自动锁定了. 如果cleanup没有效果的话只好手动删除锁定文件. ...
- c# 如何中List<object>中去掉object对象中的重复列数据?
//去掉重复 var title = modelList.GroupBy(m => m.Title.ToLower().Trim()).Select(m => new { ID = m.F ...
- 北京电子科技学院(BESTI)实验报告5
北京电子科技学院(BESTI)实验报告5 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名) 郑凯杰.周恩德 学号:(按贡献大小排名) 20145314.20145217 ...
- [翻译] ORMLite document -- How to Use Part (一)
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- C#与C/C++的交互zz
C#与C++交互,总体来说可以有两种方法: 利用C++/CLI作为代理中间层 利用PInvoke实现直接调用 第一种方法:实现起来比较简单直观,并且可以实现C#调用C++所写的类,但是问题是MONO构 ...