打造程序员的高效生产力工具-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篇的更多相关文章

  1. Git学习总结(6)——作为一名程序员这些代码托管工具你都知道吗?

    作为一名程序员这些代码托管工具你都知道吗? 作为一名优秀的开发者,大家都会用到代码托管,我本人用的是github,确实github里面有很多很多开源的项目,所以我们目前的创业项目程序员客栈www.pr ...

  2. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  3. 解析:为什么程序员应该有一台Mac个人电脑?

    对于开发来讲,使用Mac电脑的好处,下面简单列举几个: 首先,macOS很安全和稳定,Mac 系统的底层是最原始的unix操作系统,很多大型的银行和军工企业都是这个操作系统,安全性很高,基本不需要安装 ...

  4. BAT程序员常用的开发工具,建议收藏!

    今天给大家推荐一批 BAT 公司常用的开发工具,个个好用,建议转发+收藏. 阿里篇 一.Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊 ...

  5. Python超级程序员使用的开发工具

    我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ...

  6. 5款Python程序员高频使用开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

  7. 为什么程序员应该有一台 Mac 个人电脑

    阅读本文大概需要 5.4 分钟. 对于开发来讲,使用 Mac 电脑的好处,下面简单列举几个: 首先,macOS 很安全和稳定,Mac 系统的底层是最原始的 unix 操作系统,很多大型的银行和军工企业 ...

  8. Web程序员必备的CSS工具

    对于web开发来说,CSS是最有效的美化页面.设置页面布局的技术.但问题是,CSS是一种标记性语言,语法结构非常的松散.不严谨.WEB程序员会经常发现自己的或别人的CSS文件里有大量的冗余代码或错误或 ...

  9. windows/Linux下的程序员文档浏览工具

    Dash + Alfred https://www.jianshu.com/p/77d2bf8df81f 对于程序员来说,查看api文档是非常频繁,经常窗口之间切换非常麻烦,mac下就有一个查文档的神 ...

随机推荐

  1. .NET轻量级任务任务管理类

    概述 最近做项目总是遇到服务跑批等需求,一直想写个任务管理的DLL,现在整理了一下思路,编写了一个DLL类库,使用方便.只要调用的子类继承服务基类便可以实现任务的整体调度.先看看页面效果: 使用方式 ...

  2. 闪回查询(SELECT AS OF)

    使用Flashback Query的场景包括如下: 摘自官档 Recovering lost data or undoing incorrect, committed changes. For exa ...

  3. SOUI中做的一个磁力吸附效果

    代码见SVN

  4. 【面试题】D

    一面: 1.介绍实习项目,负责那一部分: 2.C++的三大特性: 3.7层网络协议:应用层协议有哪些,TCP/IP属于哪一层,三次握手: 4.Linux: 4.1.查看进程: 4.2.vim文件与to ...

  5. Programming Language A 学习笔记(二)

    1. 语法糖--元组的"名称引用"与"位置引用": (e1,...,en) <=> {1=e1,...,n=en} 类型:t1 * - * tn & ...

  6. screen

    https://www.ibm.com/developerworks/cn/linux/l-cn-screen/ http://www.cnblogs.com/mchina/archive/2013/ ...

  7. Git Pull 错误

    当是用TortoiseGit 从多个源 Pull过数据后, 不能再使用默认的 Remote origin选项进行Pull操作. 每个工程 Commit\Push前需要Pull操作时, 采用独立的URL ...

  8. python基础01 Hello World!

    摘要:简单的Hello Word! python 命令行 如已经安装python,那么在linux命令行中输入 $python 将进入python.乱吼在命令行提示符>>>后面输入 ...

  9. js中substr,substring,indexOf,lastIndexOf的用法小结

    第一组:str.substr(start,length) 和 str.substring(start,end) 定义: str.substr(start,length) substr(start,le ...

  10. NOIP提高模拟题 完全平方数

    完全平方数 (number.***(c/cpp/pas),1000ms,128mb) [问题描述] 一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(Pefect Sqaure),也称 ...