在Mac下折腾的那些事儿

由于对Windows的失望和对*nix系统的向往,外加对mac界面和产品外观的馋涎,终于下决心迁移到Mac,至今已经在MacOSX环境下工作了一个月了,最大的心得是:windows是操作系统一般但软件牛逼,Mac正好相反,并不是说Mac的软件不好,只是优秀软件的基数和选择余地没有Windows平台那么多。不过随着这几年Apple的崛起,相信这种现状会逐步改善。话说Object-C在TIOBE上的排名一路飙升,发文当天已窜到第三,貌似又会成为年度最佳了。。。这个也是产生优秀软件的人才基础,呵呵。

替换操作系统是得有点折腾精神的,前后陆续遇到不少问题,把一些经验分享一下,后面一边折腾一边补充吧(有些暂时列上标题,慢慢补充):

【软件安装】

1.homebrewvsMacPorts

最后还是选择了homebrew,原因是前者会优先使用mac自带的库,而不是像MacPorts,全然不顾已有的东西,重新再装一套,不过没用过MacPorts也没多少发言权,而且google很多软件时也是同时支持使用这两种软件包管理工具来安装的,可惜两者不兼容,反正选一个就ok了。后面积累些经验再补充吧。

2.JavaHL

安装完eclipse的svn插件后会报JavaHL不存在的错误,这是因为创建默认设置为使用更加高效的JavaHL来与svn通信,每次都会找不到。如何安装?

其实mac自带有svn,只是版本较低,我用homebrew安装了一个新的,期间遇到不少问题:

参考了UsingSubclipseonOS/XwithHomebrew文中的做法,貌似没起作用,后来想起来可能是安装过程中比较着急,以为已经装好了,被我中断掉了,于是重新再做了一次,结果到了步骤时homebrew警告说无法serf已经安装无法再次安装,除非先删除,于是按照提示先执行brewrmserf,然后再装这次终于成果,也耐心等待安装完成,但安装好后突发发现下载svn是1.7.7,而且警告说:

Warning:Couldnotlinksubversion.Unlinking...

Error:The`brewlink`stepdidnotcompletesuccessfully

Theformulabuilt,butisnotsymlinkedinto/usr/local

Youcantryagainusing`brewlinksubversion'

于是照做,执行brewlinksubversion,报了另个警告:

Linking/usr/local/Cellar/subversion/1.7.7...Warning:Couldnotlinksubversion.Unlinking...

Error:Couldnotsymlinkfile:/usr/local/Cellar/subversion/1.7.7/bin/svnversion

Target/usr/local/bin/svnversionalreadyexists.Youmayneedtodeleteit.

Toforcethelinkanddeletethisfile,do:

brewlink--overwriteformula_name

Tolistallfilesthatwouldbedeleted:

brewlink--overwrite--dry-runformula_name

于是看了下/usr/local/bin/svnversion,竟然指向了SCPlugin的svn:

svnversion->/Library/ContextualMenuItems/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/bin/svnversion

试着svn--version下看看,果然显示1.6.5版本,这个烦人的SCPlugin(之前装过svn的这个插件,但在我的机器上不好用,弃之)竟然还阴魂不散。。。

按照官方文档,删除以下目录:

/Library/ContextualMenuItems/SCFinderPlugin.plugin

/Library/Receipts/SCPlugin.pkg

其实还应该删除/usr/local/bin/下与svn相关的link,比如svn,svnadmin,svndumpfilter,svnlook,svnsync,svnserve,svnversion,通过ls-l可以看到这些link都指向了SCPlugin插件相关的目录。

(顺便查了下几个OSX中几个目录的作用,ContextualMenuItems:附加的系统级关联菜单插件,如阿拉丁的解压缩关联菜单、iGetter的关联菜单。Receipts:安装过的.pkg安装包的替身,但不是.pkg安装包本身。例如系统升级或安装时的.pkg。或vpc安装时的.pkg包。)

然后,Logoutorrestart。然后再执行brewlinksubversion

参考文献:

[1]http://widerin.org/blog/using-svn-1.7-in-eclipse-on-mac-os-x

[2]http://tedwise.com/2010/06/21/micro-tip-using-subclipse-on-osx-with-homebrew/

[3]http://blog.csdn.net/franklysun/article/details/6041616

【软件选择】

终端:iterm2当然是不二之选,最喜欢它的几个特性:1)多tab、分裂窗口2)鼠标智能选择3)牛逼的搜索功能4)录像和回放功能。目前不太方便的是没有clonetab的功能。

文本编辑器:MacVim+TextMate2两者都开源免费(后者刚刚开源),都很强大,各有各的试用范围。曾经也试过TextWrangler,可惜不支持retina,而且一些牛逼功能在BBEdit才有。。。还是免费的好。

SVN客户端:SVNX。曾经尝试过SCPlugin,但是无论在我的Finder里还是PathFinder里都无法显示图标,右键也无效,那个拖到工具栏的图标好搓,而且不太好用,于是放弃。尝试了versions,可惜限制了svn的版本,最新版本的只支持使用1.6.19,可惜我已经装了svn1.7.7了,虽然不怎么用新特性,但也不想找降回去的办法,后来找到cormerstone,也有这个限制,不能选择自己安装的svn版本。最后找到了svnx,可以设置svn版本,而且最大的好处是开源、免费!用了一段时间了,还是足够应付日常开发了,希望慢慢改善吧。吐槽一句,mac上的软件实在太贵了。。。

文件管理器:肯定是PathFinder了,支持双屏、最新版本有类似TC的F5、F6快捷键支持双栏互拷,十分方便,可惜文件过滤功能不支持中文,而且必须把鼠标移到搜索栏中(TC中直接在激活窗口下输入即可),而且没有把树状结构的目录展开成平面结构的功能。

其它暂时没多少纠结的,随个人喜好吧。。。后面用到好的软件再补充。

可以参考下这个哥们的推荐,有些借鉴意义

http://mac.pcbeta.com/thread-112974-1-1.html

顺带提下,没觉得Mac下的Picasa有多好,关键是没有图片预览功能。。。除去这个,跟iPhoto差不多,后者还支持retina,呵呵。

【其它】

1.修改文件关联

osx下批量更改文件默认打开方式,也就是文件的关联的方法,以rmvb格式为例:第一步:右键单击文件,选择“显示简介”

第二步:在“显示简介”界面中点开“打开方式”左边的箭头,选择你需要的打开程序,如果在下拉列表中没有,选择“其他”后再选取

第三步:也是最重要的一步,选择“更改全部”,在弹出的提示界面上选择“好”

现在,所有电脑上rmvb格式的文件都是用你希望的格式默认打开了。

2.BASH

为了简化操作,提高效率,同时也为了美观,我对bash进行了定制:

#优先查找homebrew安装的软件

exportPATH=/usr/local/bin:$PATH

#让命令提示符更美观实用

exportCLICOLOR=1

exportPS1="\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m\e[1;35m`hostname`\e[m\e[4m\`pwd\`\e[m\e[1;37m]\e[m\e[1;36m\e[m\n\$"

#简化命令的输入(网上有很多,个人觉得留些实用的就可以了)

aliasll='ls-al'

alias..='cd..'

alias...='cd../../../'

alias.4='cd../../../../'

alias.5='cd../../../../..'

aliash='history'

aliasc='clear'

aliasmve='mvneclipse:eclipse'

aliasmvec='mvneclipse:clean'

aliasmvc='mvnclean'

aliasmvi='mvncleaninstall-Dmaven.test.skip'

aliasmvd='mvncleandeploy-Dmaven.test.skip'

相关推荐