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. Oracle基础篇--01数据库控制语言DCL

    数据库控制语言,是用户对数据的权限控制语言. 通过GRANT语句进行赋权,通过REVOKE撤回权限.数据库的权限包括2种,一种是数据库系统权限,一种是数据库对象权限.在控制语言里面,存在2个概念, 1 ...

  2. python 缺失值的处理

  3. (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)

    HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...

  4. 根据时间显示不同的问候语的JavaScript代码

    对于最近有许多的初学开发者问我关于根据时间显示不同的问候语的JavaScript代码问题,所以今天将自己整理的一些代码在这里分享出来,供初学者参考,如果在运行过程中有问题,可以给我在下方留言. < ...

  5. C# 压缩 解压 复制文件夹,文件的操作

    命名空间:namespace System.IO.Compression 压缩: //目标文件夹 string fileDirPath = "/Downloads/试题" + us ...

  6. C#操作Excel报错:服务器出现意外情况。

    C#操作Excel表格时,如遇以下错误: 服务器出现意外情况.(异常来自 HRESULT:0x80010105(RPC_E_SERVERFAULT)) 解决方案: 打开你电脑中的Office-Exce ...

  7. .NET Core 部署到CentOS–3.supervisord守护进

    1. 安装 sudo yum install python-setuptoolssudo easy_install supervisor 2. 配置 安装成功后,输入supervisord 会显示配置 ...

  8. Offic转换pdf 之asposeDLL插件

    //excel转换 Workbook workbook = new Workbook(HttpContext.Current.Server.MapPath(docpath + "/" ...

  9. [Java][Liferay] 如何从Javascript的function中获取language property的值

    问题描述 在Portlet中,Javascript中通过Liferay.Language.get("key")的方式是拿不到自己添加的property的值,原因是Liferay.L ...

  10. css 引入方式以及css的选择器

    一.css的引入方式: 1.行内样式 <div> <p style="color: red">我是一个段落</p> </div> 2 ...