工欲善其事,必先利其器。——《论语·卫灵公》
近几年Mac在国内越来越普及,在程序员和设计人员中更是被热捧。那么作为一个Mac Programmer,要如何优雅的使用Mac呢?
日常使用篇
Moom
Moom官网:https://manytricks.com/moom
低调的下载地址:http://xclient.info/s/moom.html
为了方便多窗口的布局,微软在Win7系统中加入了拖动窗口到屏幕边缘以最大化和分屏的功能。然而macOS因为对窗口的设计理念不同,并没有像Windows那样便捷的最大化和分屏功能。因此,Moom诞生了,Moom可以很方便的帮我们设置窗口的尺寸和位置,提升我们在多窗口协同工作时的效率。
Moom是一款收费软件,官方售价$9.99美元。
iStat Menus
iStat Menus官网:https://bjango.com/mac/istatmenus
低调的下载地址:http://xclient.info/s/istat-menus-for-mac.html
iStat Menus是一个可以在菜单栏中显示系统状态的工具,例如CPU、内存使用率,实时网络占用监测,温度和风扇转速监测等。
iStat Menus提供了大量的自定义选项和皮肤,可以根据自己的喜好进行设置。这是一款收费软件,单用户售价$18美元。
BetterZip
BetterZip官网:https://macitbetter.com
低调的下载地址:http://xclient.info/s/better-zip.html
BetterZip是一款功能强大的压缩软件,不必解压就能快速地检查压缩文档,类似Windows下的WinRAR。
它支持包括zip、gz、bz、bz2、tar、tgz、tbz、rar、7-zip、cpio、 arj、lha、lhz、cab、iso、chm、rpm、deb、nsis、sit、dd、hqx和bin等多种格式的文件。并且支持Windows下的编码修正(Mac默认的压缩功能创建的文件在Windows下打开可能会出现乱码)。
BetterZip是一款共享软件,免费版也可以永久使用,官方正版售价$9.99美元。
Shell应用篇
Homebrew
Homebrew官网:http://brew.sh
Homebrew是Mac上的一个程序包管理软件,类似Linux的apt-get或者yum。通过Homebrew,我们可以很方便的对Mac上的软件和各种代码库进行安装、升级、卸载等管理,其便捷性相比Linux有过之而无不及。
Homebrew的安装和使用都比较简单,官网首页都有讲解,这里不再赘述。
zsh (oh-my-zsh)
zsh官网:http://zsh.sourceforge.net
oh-my-zsh官网:http://ohmyz.sh
zsh,全称Z Shell。是Unix/Linux平台的一个控制台Shell。比系统自带的sh、Bash等更加强大,支持一些富文本特性,支持Git集成,还有丰富的第三方插件。
zsh吸引我的几大特色有:
- 支持各种皮肤主题,让shell更美观高效
- 命令补全时不需要区分大小写,会自动适配
- 使用tab选择文件时可以显示文件列表,继续按下tab即可在文件列表中切换
- 支持git集成,一眼看到当前git仓库的分支和状态
- 丰富的第三方扩展插件
zsh的安装与配置
尽管Mac系统自带了zsh,但版本非常老旧,我们可以通过Homebrew更新到最新版本的zsh。只需要在终端中执行brew install zsh
,等待完成就行了。
默认情况下,macOS的默认shell是sh,如果想要将zsh设为默认,可以在终端中执行chsh -s /bin/zsh
,再次启动终端就默认使用zsh了。
zsh的安装还是比较容易的,比较复杂的是zsh的配置。因为zsh过于强大,各项配置非常复杂。这时候就需要oh-my-zsh登场了。
oh-my-zsh是一个相当于“zsh懒人包”的配置和插件集合,根据oh-my-zsh官网的说明,进行安装即可,oh-my-zsh的默认配置已经能够满足我们的日常使用。
更换主题
安装好oh-my-zsh之后,默认启用的是一个比较简洁的主题(robbyrussell),更多的主题可以在官方Github上查看。
我偏爱于使用agnoster主题,不过这款主题的配置相对复杂一些,首先需要用到powerline字体,然后配色也需要调整,使用第三方终端模拟器才能达到最佳效果,例如接下来要讲的iTerm。
iTerm2
iTerm2官网:http://www.iterm2.com
iTerm2是一个终端模拟器,它和macOS自带的终端一样,用来承载和显示shell。区别在于,iTerm提供了很多增强功能,例如对多标签管理会话,保存会话状态,支持终端中的图片和链接,提供更加丰富的配色方案等等。
Solarized Dark配色方案
Solarized Dark是一个广受欢迎的配色方案,我们在很多软件中都可以看到他的身影。
我的Xcode和iTerm2都选用了这款配色。这也是oh-my-zsh官方推荐与agnoster主题搭配的方案。
从官网下载Solarized压缩包,解压后找到iTerm2目录中的Solarized Dark.itermcolors
配色文件。
然后打开iTerm设置,导入并启用配色方案即可。
Go2Shell
Go2Shell官网:http://zipzapmac.com/Go2Shell
Go2Shell可以让我们便捷的从Finder中打开终端并定位到当前目录。
安装后启动Go2Shell,点击最下面的_Install to Finder_就可以安装Go2Shell到Finder的工具栏了。
之后只要在Finder中点击工具栏中的Go2Shell图标即可打开终端。
值得一提的是,Go2Shell可以和iTerm2一起使用,只要在Go2Shell设置中稍作修改即可。
Developer篇
SourceTree
SourceTree官网:https://www.sourcetreeapp.com
SourceTree是一款图形化Git工具,由著名的Atlassian公司开发,和Bitbucket是孪生兄弟。
Atlassian偶尔被墙,如果无法访问请科学上网。
Dash
Dash官网:https://kapeli.com/dash
低调的下载地址:http://xclient.info/s/dash.html
Dash是一本程序员的字典,他整合了数百项语言和开源项目的官方文档,可以统一高效地查询文档,还支持在文档中加入书签和自己的注解。
Dash是一款收费软件,官方售价$24.99美元。
Alfred
Alfred官网:https://www.alfredapp.com
低调的下载地址:http://xclient.info/s/alfred.html
Alfred是一个增强版的Spotlight,不仅可以检索文件,而且提供了开放接口,有丰富的第三方插件。
例如安装Dash插件就可以和Dash高度整合,一键搜索各种开发文档。
Alfred是一款共享软件,基础功能免费,完整版售价单用户£17英镑,需购买完整版才能安装插件。
NSC - Number System Converter
NSC是一款非常实用的Alfred插件,提供各种进制转换的功能,对程序员来说非常便捷。
NSC官方地址:http://www.alfredforum.com/topic/1975-nsc-number-system-converter
Beyond Compare
Beyond Compare官网:http://www.scootersoftware.com
低调的下载地址:http://xclient.info/s/beyond-compare.html
Beyond Compare是一款功能强大的比较、合并工具,无论是日常对比文件、目录,或是用于解决Git冲突,都提供了非常强大的功能,是程序员必备的神兵利器。
Beyond Compare是一款收费软件,官方售价标准版$30美元。
Xcode插件篇
2016年10月更新:在最新的Xcode 8中,苹果对Xcode library启用了验证机制,所有第三方插件都无法注入到Xcode进程中了。因此以下插件只针对Xcode 7有效。关于多个Xcode版本共存和切换的方法请参考《如何在mac中安装多个版本的Xcode》。
Alcatraz
Alcatraz官网:http://alcatraz.io
Alcatraz是一款Xcode插件,可以用来管理其它的Xcode插件、模版以及颜色配置。
AdjustFontSize
这是一个可以快捷调节Xcode代码字体大小的插件,默认快捷键是Control =
和Control -
。此插件可以通过Alcatraz安装。
FuzzyAutocomplete
这是一个增强自动补全的插件,可以使代码补全模糊搜索。此插件可以通过Alcatraz安装。
OMColorSense
这是一个增强Xcode代码中颜色设定的插件,当你设置UIColor时会出现一个小色块可以预览当前设置的颜色。此插件可以通过Alcatraz安装。
KSImageNamed
这是一个增强UIImage.imageNamed函数的插件,当你试图调用一个内部资源来创建UIImage时,它可以自动替你补全当前项目中包含的资源文件名称,并且显示缩略图预览。
SCXcodeMinimap
这是一个让Xcode滚动条类似Sublime一样产生代码缩略图效果的插件,这个插件貌似对Xcode性能会有一定影响,容易造成轻微卡顿。此插件可以通过Alcatraz安装。
VVDocumenter
这是一个让Xcode生成Javadoc风格注释的插件,只要在代码中连续输入///
就会自动产生格式化注释文档。此插件可以通过Alcatraz安装。
BBUncrustifyPlugin
这是一个让Xcode与Uncrustify集成的插件,Uncrustify可以帮助我们格式化C/C++/OC代码。
使用此插件需要先安装Uncrustify,可以通过Homebrew进行安装。然后再通过Alcatraz安装此插件,即可在Xcode中调用Uncrustify。
Uncrustify有大量的设置选项,建议参考Wonderful Objective-C style guide进行设置,在这里分享一下我修改的设置方案。下载后改名.uncrustify.cfg
放到~/
目录即可。
Swimat
相比于C/C++/OC,Swift的代码格式化就相对简单了,直接通过Alcatraz安装Swimat插件即可。默认格式化快捷键Command Option Shift L
。
XcodeColors
XcodeColors插件可以给Xcode内的输入输出窗口加入颜色支持,配合XCGLogger就可以实现带有颜色的日志输出。此插件可通过Alcatraz安装。