【转】Mac 程序员的十种武器
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 程序员的十种武器的更多相关文章
- UNIX/Linux C 程序员需要掌握的七种武器
我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练 ...
- 打造程序员的高效生产力工具-mac篇
打造程序员的高效生产力工具-mac篇 1 概述 古语有云:“工欲善其事,必先利其器” [1] ,作为一个程序员,他最重要的生产资源是脑力知识,最重要的生产工具是什么?电脑. 在进行重要的脑力成果输 ...
- 第一章-第七题( 有人认为,“中文编程”, 是解决中国程序员编程效率一个秘密武器,请问它是一个 “银弹” 么? )--By 侯伟婷
首先,“银弹”在百度百科中的解释是银色的子弹,我们更熟知的“银弹”一词,应该是在<人月神话>中提到的.银弹原本应该是指某种策略.技术或者技巧可以极大地提高程序员的生产力[1].此题目中关于 ...
- 程序员最爱 Mac、JS 是最热门技术
概况: 今年,有超过5万名开发者向我们分享了他们是谁,做什么工作,以及他们的成果.通过本文,你将看到有史以来最为全面的一次开发者情况调查的结果. 每8秒钟,就会有一位开发者在Stack Overflo ...
- Mac开发利器之程序员编辑器MacVim学习总结
Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑 ...
- 为什么国外程序员爱用Mac?
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人使用 ...
- [转载]Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大.灵活的编辑器,相信你和我一样,都不会例外. 我用过 ...
- Mac OS X 程序员利器 – Homebrew安装与使用
Mac OS X 程序员利器 – Homebrew安装与使用 Homebrew安装与使用 什么是Homebrew? Homebrew is the easiest and most flexible ...
- 为什么国外程序员爱用苹果 Mac 电脑?
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人 ...
随机推荐
- SSL证书切换
SSL证书:SSL证书是数字证书的一种,类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书.SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务 ...
- 用navigator.geolocation.getCurrentPosition在IOS10以上的系统无法定位
昨天老板告诉我代码有Bug(定位失败),于是各种测试最终发现IOS10以上版本手机不能成功(穷,买不起iphone,测试不完全),先贴失败代码: var city =""; nav ...
- 持久层框架---jdbc
1.JDBC编程步骤: 1.1 加载数据库驱动: 1.2 获取数据库连接: 1.3 通过Connection对象创建Statement对象: 1.4 使用Statement对象执行SQL语句: 1.5 ...
- 在使用clone()时id保持一致
大家都知道,同一个HTML页面中,不宜出现1个以上相同名称的id.但有时候需要使用jQuery框架的clone()来复制相同内容(附带样式),假如是使用了id号的获取方式,即$(‘#***’) 那么复 ...
- [转]jQuery的.live()和.die()
本文转自:http://www.cnblogs.com/dumuqiao/archive/2011/09/09/2172513.html 翻译原文地址:http://www.alfajango.com ...
- typescript的lambads解决this关键字找不到属性
var people = { name: ["abc", "jack", "pepter", "jim"], getna ...
- PHP高级分离术
<!--高级分离术--> <table border='1px'> <?php foreach($data as $key=>$value){ ...
- android 官网访问不了
网上搜到的解决方案,亲测有用.记下来,以备遗忘. 使用管理员权限,修改C:\Windows\System32\Drivers\etc\hosts文件,加入以下内容 173.194.127.7 deve ...
- C#中实体集合和实体转换成相应的string、XDocument、XElement
C#中实体集合和实体转换成相应的string.XDocument.XElement public class SimpleXmlConverter { public static string ToX ...
- Java入门之Tomcat安装及环境变量配置
一.Tomcat下载 地址:http://tomcat.apache.org/download-80.cgi#8.0.39 本人用的是Tomcat/8.0.37免安装版,解压到一个目录,本人用的是:D ...