http://chijianqiang.baijia.baidu.com/article/3733

在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的。(你们不是问 Mac 和爱情有个鸟关系吗?)

从前有一个孩子叫做小明,他不是高帅富,与高大上也毫无瓜葛,只有低调、无聊和内涵。他住在全国房价最贵的城市,租着最贵的单间,写着各种垃圾或垃圾回收的代码,干着程序员这份前途若有若无的职业,一切都朝着注定孤独一生的方向发展着,如果没有变数的话。

终于有一天他的朋友小强为他介绍了另一位朋友,这个朋友不是女朋友,而是一款笔记本,笔记本的名字叫做Macbook Pro。见到 Mac 小明似乎遇到了久违的情人,呆滞的双眼放出绿油油的光芒,他花掉了所有的积蓄购买了这款笔记本,开始没日没夜的学习 iOS 和 OS X 开发的相关知识。

他在写 Java 代码的间隙写 Objective-C,在编译 Java 的同时构建 IPA,在运行完 Web Server 之后运行 iOS 虚拟机。每个清晨和夜晚他都在编程……他与 Mac 相依相偎,他们是最好的朋友。

终于有一天,他掌握了 Mac 的一部分奥秘,他编写出了自己的第一个 iOS App,花了99美元申请了开发者账户,传到了 App Store 上。又过了一段时间,他告诉他的技术主管:我要去远行。于是他去了另一个房价很贵的城市,带着增长了75%的薪资,从此杳无音讯。

两年后,小强去那个城市看望小明,发现小明身边除了升级的视网膜屏 Macbook 之外,还多了一个水灵灵的女朋友,小强和他的女朋友握了握手,发现是真人,小强觉得很欣慰。小明告诉小强,他现在是公司 iOS 开发组的 Team leader,还和女朋友一起买了套小房子,他们准备,从此幸福的生活在一起……

这就是 Mac 和爱情的故事,这是一个真实的故事,故事的主角不是我。我用 Mac 的时候孩子已经两岁了,没有机会去完成这样一个美丽的爱情故事,是我毕生的遗憾。

今天的文章到此结束。

喂喂,说好的十个 Mac 工具呢?好吧,没看到这只是上吗?

再回答一个问题:问:是不是买了 Mac 就会变得很有钱?

答:错,这当然是个伪命题,真实的情况是:

1、Mac 本来就比其他品牌的笔记本贵不少,一般情况下有钱人才会买。

2、不是有钱人的,买了 Mac 天天抱着看各种动作片和爱情片,一样无法改变注孤生的命运。

以前在 Mac 指引系列里写过一个工具列表,主要是面向普通 Mac 用户的,完整文章已经收录到纸版《MacTalk·人生元编程》中。今天的文章主要是面向程序员的,有重合,但侧重点不同。

大部分用户第一次使用 Mac 都会有个短暂的情绪反转。打开包装后马上为 Mac 精美的硬件工艺击节赞叹,进入OS X 之后随即陷入一种蛋蛋的忧伤,因为,用了十几年的开始菜单不见袅!妈妈开始菜单不见袅肿么办?这时候需要的是:淡定和冷静!

要清楚的认识到,我们寻找的不是开始按钮,而是程序入口,任何一个操作系统,用户要做的事情并不是找到开始菜单,而是找到程序,然后打开它们完成自己的工作。在 Mac 里,完成这个职责的最佳角色不是 Dock,而是 Alfred。所以我的建议是,任何用户进入 OS X 之后,第一步就是去 App Store 下载 Alfred。普通用户使用免费版就够了,开发人员可以购买 Powerpack,物超所值。

(一)Alfred 是 Mac 平台上最为传奇的效率工具,用一篇长文来介绍都不为过,幸好 Mac 君在之前已经写过了,回复「alfred」阅读。

Mac 对原生 Shell 的支持是无数程序员喜爱 Mac 的理由之一,程序员用 Mac 而不用 Shell,基本等于自断一臂,威力将大打折扣。Shell 并非凭空而来,它的入口是终端工具。OS X自带的终端工具虽然不错,但是和 iTerm 2一比,就逊色很多了。

(二)iTerm2 是 OS X 下一款开源免费的的终端工具,我基本用它替代了原生的 Terminal。网址:http://www.iterm2.com

一些基本功能如下:

1、分窗口操作:shift+command+d(横向)command+d(竖向)

2、查找和粘贴:command+f,呼出查找功能,tab 键选中找到的文本,option+enter 粘贴

3、自动完成:command+; 根据上下文呼出自动完成窗口,上下键选择

4、粘贴历史:shift+command+h5、回放功能:option+command+b

6、全屏:command+enter

7、光标去哪了?command+/

8、Expose Tabs:Option+Command+E

功能还有很多,多用多体会。

另外,很多朋友说自己的终端一直是黑白的,如何换成彩电?在用户目录的.profile里加上这两行即可:export CLICOLOR=1export LSCOLORS=gxfxcxdxbxegedabagacad

(三)有了优秀的终端,我们终于可以使用 Shell 了。不过,万里长征才开始了第一步,Shell 也是分门派的,我推荐给大家的是:终极 Shell——ZSH

(四)文本编辑器同样是程序员最喜爱的开发工具之一,我个人偏爱 Vim。Vim号称编辑器之神,可以脱离鼠标全键盘操作,良好的插件体系几乎适配各类编程语言,使用起来充满推背的速度感,如果你是个赛车迷,你会喜欢上这款软件的。

推荐阅读 Vim 系列

其他可选工具:Emacs、TextMate、Sublime Text等。

(五)IDE 是图形化的集成开发工具,具备精准的词法分析、编程提示、调试等功能,功能之繁复用户自知,如果做工业级编程和团队协作的话,推荐使用 IDE。

在这里给大家推荐如下几个工具:

1、Xcode,Mac 上优秀的集成开发工具,几乎所有的 Mac App 和 iOS App 都由此而生,免费软件。无论你是 写 Java 的还是写 Python,用了 Mac 一定要安装 Xcode,为什么?我准备写一篇「更有效率的 XCode」说一下这个事情,当然,这样的内容没那么干,如果各位不同意就算了。

2、JetBrains 系列,产品线丰富,几乎都是精品,Java、Python、Ruby、Php、Objective-C、Web 等一应俱全,收费,还挺贵。

3、Eclipse 系列,通过插件方式几乎支持所有的常用编程语言,免费。

(六)Homebrew 是 OS X 的包管理工具,Ruby 社区的作品,功能类似 Ubuntu 下的apt-get。使用 Homebrew 可以非常容易的安装 OS X 中没有包含的 Unix 工具包和语言包,比如 wget,node,lua,rabbitmq,nginx 等。当然,我们得首先安装 Homebrew,安装脚本如下:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

一段类似黑客帝国里的脚本过去之后,Homebrew 就装好了。尝试一下安装命令行下载工具 wget:brew install wget一段类似黑客帝国里的脚本过去之后,wget 就装好了。

那有没有工具可以用类似的方式安装Chrome 浏览器、离线迅雷、虾米、QQ 呢?答案是肯定的,程序员无所不能,他们开发了Homebrew-Cask用来一键安装应用软件,有了 Cask,再也不用手动下载软件包 DMG,打开,拖进应用程序文件夹了,一切都可以交给程序去做。

安装 Cast:brew tap phinze/homebrew-cask && brew install brew-cask

用法:brew cask search 列出所有可以被安装的软件brew cask search xx 查找所有和 xx 相关的应用brew cask info xx 查看xx应用的信息brew cask uninstall xx 卸载 xx

尝试一下吧。

(七)Git 是一款分布式版本控制和软件配置管理软件,类似 SVN 和 CVS,是 Linus 的第二个惊世之作。关于 Linus 和 Git 的故事,我们会在 Linus 系列里描述,这里就不细聊了。

Git 是目前主流的版本管理工具,基于 Git 构建的 Github 网站则是这个星球上最大的开源集散地。还在使用 SVN 和 CVS 的童靴,该换换脑筋了。

回复「git」,你将获得一份Git 简明教程。

图形化的 Git 工具推荐:GitHub、SourceTree。

(八)对于程序员来说,文件比较也属必备工具,OS X 中提供了原生的比较工具 FileMerge,不过这个工具对非 ASCII 内容的文件支持非常不好,推荐 VisualDiffer。VisualDiffer 支持文件和文件夹比较、文件过滤、多重比较模式、颜色标注等,操作简单,响应迅速,实乃程序员居家旅行之必备工具。收费软件,可以直接从 AppStore 下载。

另外,习惯命令行操作的朋友,直接使用 diff 和 vimdiff,也是不错的选择。

(九)xScope 是一款强大的辅助设计工具,可以精确度量屏幕上的 UI 元素,尤其适合全栈工程师。xScope 可以方便的取得屏幕上任意位置的颜色,可以动态智能监测元素边界并显示距离,可以针对移动设备和各种浏览器设定屏幕尺寸,可以设定屏幕辅助线,放大屏幕等。如果你不想事事求人,xScope是个不错的选择。收费软件。

(十)Pixelmator 号称 Mac 上的精简版 PhotoShop,设计更为人性化,适合非专业人士使用,不是平面设计人员也可以作出非常专业的图像设计。像我这样的老程序员,也开始时不时设计个物件,让团队里的美工 MM 为之侧目。收费软件。

推荐一个Podcast视频教程:http://www.pixelmator.com/tutorials/itunes/

有了这些武器,你将如猛虎加之羽翼而翱翔四海,到时候再说英雄谁是英雄……

【转】Mac 程序员的十种武器的更多相关文章

  1. UNIX/Linux C 程序员需要掌握的七种武器

    我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练 ...

  2. 打造程序员的高效生产力工具-mac篇

    打造程序员的高效生产力工具-mac篇 1   概述 古语有云:“工欲善其事,必先利其器” [1] ,作为一个程序员,他最重要的生产资源是脑力知识,最重要的生产工具是什么?电脑. 在进行重要的脑力成果输 ...

  3. 第一章-第七题( 有人认为,“中文编程”, 是解决中国程序员编程效率一个秘密武器,请问它是一个 “银弹” 么? )--By 侯伟婷

    首先,“银弹”在百度百科中的解释是银色的子弹,我们更熟知的“银弹”一词,应该是在<人月神话>中提到的.银弹原本应该是指某种策略.技术或者技巧可以极大地提高程序员的生产力[1].此题目中关于 ...

  4. 程序员最爱 Mac、JS 是最热门技术

    概况: 今年,有超过5万名开发者向我们分享了他们是谁,做什么工作,以及他们的成果.通过本文,你将看到有史以来最为全面的一次开发者情况调查的结果. 每8秒钟,就会有一位开发者在Stack Overflo ...

  5. Mac开发利器之程序员编辑器MacVim学习总结

    Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑 ...

  6. 为什么国外程序员爱用Mac?

    Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人使用 ...

  7. [转载]Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux

    代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大.灵活的编辑器,相信你和我一样,都不会例外. 我用过 ...

  8. Mac OS X 程序员利器 – Homebrew安装与使用

    Mac OS X 程序员利器 – Homebrew安装与使用 Homebrew安装与使用 什么是Homebrew? Homebrew is the easiest and most flexible ...

  9. 为什么国外程序员爱用苹果 Mac 电脑?

      Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人 ...

随机推荐

  1. 查看SQL SERVER Job details

    SELECT [sJOB].[job_id] AS [JobID] , [sJOB].[name] AS [JobName] , [sDBP].[name] AS [JobOwner] , [sCAT ...

  2. 使用nrm解决npm下载包慢的问题!

    nrm的安装使用 作用:提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 什么是镜像:原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候 ...

  3. python xml dom

    http://www.cnblogs.com/coser/archive/2012/01/10/2318298.html

  4. [转]Javascript的匿名函数

    本文转自:http://dancewithnet.com/2008/05/07/javascript-anonymous-function/ 一.什么是匿名函数? 在Javascript定义一个函数一 ...

  5. 019-MD5加密模板工具类

    1 MD5加密工具类 package ${enclosing_package}; import java.math.BigInteger; import java.security.MessageDi ...

  6. Ubuntu环境下安装Bochs

    首先说一下我的Ubuntu版本,敲命令 sudo lsb_release -a 就可以看到 No LSB modules are available. Distributor ID: Ubuntu D ...

  7. pat1068. Find More Coins (30)

    1068. Find More Coins (30) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Eva l ...

  8. php数组转json对象并保留数字索引

    本文要解决的问题是php不带索引的数组转换为json对象(而非默认的json数组) php中数组转json使用的方法是系统自带的:json_encode php中数组转json的规则是:当没有指定索引 ...

  9. 【第一篇笔记】C# 全局容错,全局异常

    网上找到两个方式,一个简单的只是做个记录,另一个能像QQ一样提交到后台. 方法一: static class Program { /// <summary> /// 应用程序的主入口点. ...

  10. jar包介绍

    1.基本jar包 4+1:4个核心(beans+core+context+expression)+一个依赖(commons-logging...)