在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'