本文记录MacBook工作环境配置过程,供新入手或觉得MacBook比较难用的同学参考。
欢迎关注本人的微信公众号:高效程序员,第一时间获取高效的工作方式和编程技巧。
1. 硬件提升
笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再搞一个外接显示器,多一个屏幕会大大减少你切换应用程序的次数,显著提升你的工作效率,如果你资金宽裕,可以买个机械键盘和无线鼠标,进一步提升工作效率。
2. 系统设置
2.1 将功能键(F1-F12)设置为标准的功能键
MacBook键盘最上面一排的功能键(F1-F12)默认是系统亮度和声音之类的快捷设置,当MacBook作为你的娱乐电脑时,这样的默认设置是非常方便的,但是对于将MacBook作为工作电脑而且需要频繁使用功能键(F1-F12)的人,最好将功能键(F1-F12)的行为设置为标准的功能键。
首先打开System Preferences
,点击Keyboard
图标,勾选上Use all F1, F2, etc. keys as standard function keys
。以后如果你要调节音量,就按住键盘左下角的fn
键再按F11或者F12。
图2.1-1
2.2 设置Trackpad(触摸板)轻触为单击
当你首次使用MacBook,是否会觉得触摸板一点都不顺滑?那是因为你需要做如下设置。
打开System Preferences
,点击Trackpad
图标,勾选Tap to click
选项,现在手指轻轻一碰触摸板,就达到鼠标单击的顺滑效果。
2.3 将Dock停靠在屏幕左边
为什么要将Dock
停靠在屏幕左边?MacBook的屏幕是一个长方形,如果你将Dock
放在下面,那么屏幕的可用宽度
就会减少,另外人眼阅读时的顺序是从左往右,因此Dock
放在左边更适合将MacBook作为工作电脑的人。
打开System Preferences
,点击Dock
图标,
- 将图标的
Size
调到合适大小 - 关闭
Magnification
特效(即鼠标放到Dock上图标放大的效果,此效果干扰注意力) - 在
Position on screen
一栏,选择Left
- 勾选
Minimize window into application icon
图2.3-1
2.4 全键盘控制模式
全键盘控制模式是什么? 举一个例子,如下图所示,我正在写一个文档,此文档还没有保存,也没有文件名,如果不不小心点了关闭
按钮,将会弹出一个对话框:
图2.4-1
当前,[Save]
按钮处于默认激活状态,按回车
将会弹出保存对话框。但是如果我不想保存呢? 只能通过鼠标或者触摸板来移动光标后点击[Don't Save]
来取消保存。那我能不能通过键盘控制光标激活[Don't Save]
按钮呢? 答案是肯定的,做一个简单设置就好。
如图,首先打开System Preferences
,点击Keyboard
图标,选择Shortcuts
这个Tab, 选中All controls
图2.4-2
现在当我再次试图关闭一个未保存的文件时,新弹出的对话框如下,有了些许变化,在[Don't Save]
按钮上多了一个蓝色的外框,当你按键盘上的tab
键的时候,蓝色的外框会在3个按钮间切换。 假设现在蓝色的外框在[Don't Save]
按钮上,你按下回车
,却发现系统依然进入了保存
文件对话框,为什么蓝色的外框不起作用呢?那是因为蓝色的外框选中的按钮是由空格键
触发的,当你按下空格键
,系统就会不保存文件直接退出。 这样当你不方便使用鼠标和触摸板的时候,可以更快速的和你的MacBook交互。
图2.4-3
2.5 快速锁定屏幕
如果你长时间离开电脑,最好锁定你的屏幕,以防止数据泄露
。 那如何快速的锁定你的MacBook呢? 答案是只需要一摸触摸板
或者一甩鼠标
就可以了。
- 打开
System Preferences
,点击Desktop & Screen Saver
图标,选择Screen Saver
这个Tab,再点击Hot Corners...
,在弹出的如下界面里面,右下角选择Put Display to Sleep
,点击OK确定。
图2.5-1
- 再打开
System Preferences
,点击Security & Privacy
图标,在General
Tab内,勾选Require password[immediately] after sleep or screen save begins
。
图2.5-2
现在当你离开电脑前时,记得一摸触摸板
或者一甩鼠标
将光标快速的移到屏幕的右下角,MacBook将立刻进入Screen Saver
模式并且需要密码
才能进入桌面。
3. 常用快捷键
3.1 系统快捷键
请点击这个文档,学习系统快捷键,适当使用快捷键将会提升你的工作效率。
-
command + 逗号
:
3.2 常用应用程序快捷键
chrome
command + l
3.3 自定义快捷键
4. 日常软件推荐
4.1 中文输入法
系统自带的输入法不是很好用,推荐安装搜狗输入法或者RIME输入法。安装完成后,打开System Preferences
,选择Keyboard
,切换到Shortcuts
这个Tab下,勾选Select the previous input source
,并点击上述文字后面的空白处,设置快捷键为Ctrl+Space
(即如图所示的^Space)。
图4.1-1
4.2 窗口管理软件 - SizeUp
- 你是否经常想让某个Word文档占满屏幕的左半部分,旺旺聊天占满屏幕的右半部分,从而一边对着文档一边和小伙伴聊需求?
- 终于搞好了外接显示器,你是否经常将某个窗口在笔记本和外接显示器屏幕之间直接来回拖动?
SizeUp快速解决这样的需求,该软件可以永久免费试用,下载安装后打开SizeUp,再打开旺旺,快捷键按下control+option+command + M
,则旺旺就会立即进入全屏模式。
然而大部分情况下,你会看到如下这个提示,这是因为SizeUp需要你的授权才能控制窗口。
图4.2-1
直接点击Open System Preferences
或者打开System Preferences
,点击Security & Privacy
图标,在Privacy
Tab内,点击Accessibility
,然后将SizeUp加到右边的列表里面。(提示:你可能需要先点击右下角的黄色锁,输入密码后才能编辑右边的列表。)
图4.2-2
如果你此时接上了外接显示器,快捷键按下control+option + 方向键右键
,则当前左边显示器激活的最前端窗口将被立即发送到右边的显示器。
下面列举一些SizeUp常用的快捷键,更多的快捷键和使用方式请查询其官方网站。
-
control+option+command + M
: 使当前窗口全屏 -
control+option+command + 方向键上键
: 使当前窗口占用当前屏幕上半部分 -
control+option+command + 方向键下键
: 使当前窗口占用当前屏幕下半部分 -
control+option+command + 方向键左键
: 使当前窗口占用当前屏幕左半部分 -
control+option+command + 方向键右键
: 使当前窗口占用当前屏幕右半部分 -
control+option + 方向键左键
: 将当前窗口发送到左边显示器屏幕 -
control+option + 方向键右键
: 将当前窗口发送到右边显示器屏幕
4.3 查找文件和应用程序以及无限想象力 - Alfred
如果你曾经使用过MacBook,你应该接触过Spotlight,就是屏幕中间弹出一个长条输入框,你输入文件名或者应用程序名,Spotlight将模糊查找到对应的候选项,按回车快速的打开你需要的文件或程序。
Alfred的能力远远超过了Spotlight, 你可以直接下载免费版安装使用,Alfred另外还提供了更强大的工作流(Workflows)和剪切板(Clipboard)管理等高级功能,需要购买Powerpack。对于日常的操作,免费版已经足够使用了。
因为Alfred可以完全取代Spotlight,下面先删除Spotlight占用的快捷键command + 空格
,以供Alfred将来使用。
打开System Preferences
,选择Keyboard
,切换到Shortcuts
这个Tab下,点击Spotlight,取消对应的2个快捷键设置。
图4.3-1
打开Alfred,在菜单栏点击Alfred图标,打开Preferences...
图4.3-2
如下图所示,设置Alfred的快捷键为command + 空格
图4.3-3
现在按下快捷键command + 空格
,输入app
,则Alfred不区分大小写的将所有包含app
的应用程序,文档以及历史网址都列出来了,如下图所示,回车打开App Store
,command+3
打开AppCleaner,你还可以移动键盘上下键或者光标来选择目标。
图4.3-4
更多关于Alfred的使用方式和无限想象力,请参考官方网站或者网上现有的大量的教程。
下面简单演示一下剪切板管理
的使用。如下图所示,我使用快捷键打开剪切板管理器,列出来我最近复制过的文本片段,我可以快速的选取这些文本片段或者输入部分字符来查找
图4.3-5
4.4 聪明又美丽的日历 -- Fantastical 2
打开Fantastical 2的网站,你一定会被她漂亮的外表所吸引,最可贵的是Fantastical还很聪明,当你在日历里面新建一个提醒的时候,输入如下内容“HTML training at 7:30pm tomorrow alert 5 min”, 则Fantastical会自动将日期设置为明天,然后将开始时间设置为晚上7点半,并且提前5分钟提醒,是不是很聪明?
图4.4-1
4.5 来杯免费咖啡 -- Caffeine
今天下午给大老板和重要客户演示PPT,你仿佛看到了升职加薪走上人生巅峰,当你打开MacBook接上投影仪,口若悬河的讲解,突然MacBook进入休眠模式了,画面太美了,我不敢想了。
你应该立刻安装这款免费的良心软件---Caffeine,设置开机启动,点一下状态栏的咖啡杯图标,当咖啡是满的时候,MacBook将不会进入休眠模式,再点一下咖啡杯空了就正常休眠,我默认设置开机启动,咖啡杯保持满满的状态。
4.6 快速切换和打开应用程序 -- Manico
MacBook系统默认设置了一个快捷键来显示当前运行中的应用程序,同时按下tab + command
,将看到如下图的样式:
图4.6-1
如果你想要却换到Firefox,需要再按一下tab
,如果要切换到日历,需要按两下‘tab’,如果一次性打开10几个应用程序,你经常需要按十几下tab
才能却换到想要的程序。
Manico专为这个场景而设计,安装好后打开,默认快捷键是按住option
,如图所示,此时按下数字7
就能快速打开编号为7
的地图
。
图4.6-2
另外,推荐设置Manico使用左手边的字母加数字
做索引,方便仅仅用左手就能快速切换应用程序。在菜单栏点击Manico图标,打开Preferences...
, 在Appearance
Tab里面,选择Uses left hand area
和Use numeric and alphabet
。
图4.6-3
4.7 随心所欲的复制粘贴以及无限想象 -- PopClip
- 日常工作中,你有多少次是从一个应用程序复制一段文本然后粘贴到另外一个地方?
- 有多少次是复制一个网址然后打开浏览器粘贴到地址栏然后回车打开?
- 有多少次是复制一个名词,然后打开浏览器找到搜索引擎来搜索?
这些重复的操作模式都是可以简化的,你唯一需要的就是PopClip,当你选中一段文字(如下图,选中“当日收益”),PopClip就会弹出来一个快捷操作栏,你可以复制,剪切或者粘贴,更为强大的是,PopClip提供了很多免费的插件,例如使用指定的搜索引擎搜索选中的文字,或者选中英文单词做大小写转换等等。
图4.7-1
需要注意的是,PopClip需要你的授权才能弹出快捷状态栏,直接点击Open System Preferences
或者打开System Preferences
,点击Security & Privacy
图标,在Privacy
Tab内,点击Accessibility
,然后将PopClip加到右边的列表里面并且勾选前面的checkbook。(提示:你可能需要先点击右下角的黄色锁,输入密码后才能编辑右边的列表。)
4.8 增强资源管理器 -- XtraFinder
MacBook自带的资源管理器(Finder)已经可以满足一般的需要,但是当你有大量文件维护操作后,你就需要一个更强大的Finder。XtraFinder完全集成到Finder里面,你根本感觉不出它是一个第三方的应用程序,同时还提供很多增强特性,比如:
- 像浏览器那样的标签页(Tab)
- 支持双操作面板(Panel)
- 增强的全局快捷键,例如新建文件(New File)等
- 多彩的侧边栏图标
- 快速在当前文件夹打开终端
- 快速在当前文件夹新建文件
图4.8-1
输入如下命令显示当前目录地址:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
killall Finder
4.9 随心所欲的全键盘控制 - Shortcat
在系统设置里面,我介绍了全键盘控制模式
,但是此模式只能做简单的按钮控制,无法达到随心所欲的控制。下面介绍一款比较geek的软件,Shortcat帮助你完全使用键盘来控制系统,供有键盘强迫症的同学使用。
图4.9-1
4.10 来杯鸡尾酒 -- Bartender
如果你看到这里,相信你已经被我推(hu)荐(you)的安装了一排软件,你的系统状态栏已经人满为患
,有时候会因为当前激活的应用程序的菜单比较多挡住你要点击的状态栏图标,这个时候你需要一个酒保
来帮你调理一下状态栏,Bartender将是我推荐的最后一个日常使用的App,你可以自定义隐藏某些不常用的状态栏图标,特别适合处女座强迫症。
图4.10-1
5. 开发环境配置
终于到了开发环境配置阶段,在配置开发环境前,建议先将OS X系统升级到最新版,同时去Mac App Store下载最新版的Xcode,然后使用下面的命令安装Xcode command line tools,这将为你安装很多终端下面常用的命令,将来很可能会使用到:
xcode-select --install
5.1 命令行终端Terminal
在用户界面没有发明前,终端Terminal曾经是计算机的唯一交互方式,就算到了今天,很多服务器仍然只提供终端登陆来操作,作为开发测试运维相关人员,在日常工作中合理使用终端将大大提高工作效率。
5.1.1 替换系统默认Shell -- Oh My ZSH!
Bash作为大多数系统默认安装的Shell,大家都多少有所接触,Zsh和Bash类似都是一个Shell,但是Zsh更注重用户体验和与人的交互,OS X默认也安装好了Zsh,然而你想自己从头开始配置一个顺手的Zsh是比较浪费时间的,有人已经帮我们配置好了,这个流行的Zsh配置叫---Oh My ZSH!,直观的效果如下图所示,代码开源在github。
图5.1.1-1
- 切换默认Shell到Zsh
Mac OS X默认已经安装好了Zsh,你可以打开终端,输入zsh --version
来确认,如果没有安装,请参考这个文档。
打开终端输入下面的命令,切换默认Shell为Zsh:
chsh -s /bin/zsh
关闭终端重新打开后,你将默认使用zsh作为终端Shell。然而你会发现,终端并没有变得多酷炫,接着往下走,安装Oh My ZSH!
- 安装Oh My ZSH!
打开终端输入下面的命令:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
耐心等待一会儿,然后你就会发现你的终端变成了彩色的了。
图5.1.1-2
你可以修改终端的Profile,选择深色背景profile,这样就比较炫酷了。如果你对默认的Oh My ZSH
的配色不满意,请参考这里找到你喜欢的配色。
5.1.2 替换系统默认终端 -- iTerm 2
如果你经常使用终端,那么推荐你使用iTerm 2来替代系统自带的终端。关于iTerm 2的特性,请看这里。
这里我只介绍一个小技巧,我想设置一个快捷键假设为F12,在任意场合,我按一下快捷键F12就弹出终端,输入一些命令执行后,再按一下F12终端就自动隐藏,这对经常使用终端的人,例如经常ssh连接服务器的人来说实在太方便了。
设置过程如下:
- 系统已经默认将F12分配给
Show Dashboard
,需要先取消这个设置。
打开System Preferences
,选择Keyboard
,切换到Shortcuts
这个Tab下,点击Mission Control
,取消对应F12的快捷键。
图5.1.2-1
- 打开iTerm的
Preferences...
, 在Profiles
Tab里面,点击下面的[+
]添加一个新的profile,为什么要新建一个profile?答案是为了定制将来弹出
的终端样式和大小等等参数。新的profile假设命名为guake,(注:guake这个名称是为了向Linux下的Guake终端致敬),你可以自己任意起个名称,下面会用到。
图5.1.2-2
再切换到Window
Tab下,将Style
,Screen
和Space
这3个值设置和下图一样。
图5.1.2-3
再切换到Keys
Tab下,设置如下图所示的Hotkey
F12。
图5.1.2-4
现在你按下F12,就立即得到一个占满全屏的黑色命令行终端,再按一下F12隐藏终端,非常的方便。
5.2 终端下的命令管理 -- Homebrew
Mac App Store你一定非常熟悉了,它可以帮你下载和安装大部分常见的软件。
在终端下,我们也需要一个App Store一样的管理程序,当你需要安装某个终端下的新命令的时候,这个程序可以帮助我们自动下载该命令以及相关的依赖,甚至在下载以后做必要的编译和环境设置。
Homebrew就是这样一款终端下的命令程序包管理器,安装非常简单,复制如下命令在终端下运行,按回车并输入密码后等待安装成功:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
下面是安装截图:
图5.2-1
curl和wget是命令行下面常用的命令,其中curl已经默认安装在OS X中了,但是wget没有默认安装,下面演示如何使用Homebrew来安装wget。
brew install wget
下面是运行截图:
图5.2-2
5.3 终端下管理非终端软件 -- Homebrew Cask
因为Apple不允许第三方的浏览器进入Mac App Store,如果你想要安装Google Chrome,只能去Google网站下载后运行安装文件。这一类App Store没有的非终端下的软件能不能享受Homebrew一样的命令行安装的便捷性呢?
Homebrew Cask就是这样一款终端下的程序管理器,它扩展了Homebrew,作为Mac App Store的有益补充,方便你快速维护日常软件的安装升级和卸载,复制如下命令在终端下运行,按回车后等待安装成功:
brew install caskroom/cask/brew-cask
下面是运行截图:
图5.3-1
那如何使用Homebrew Cask来安装Google Chrome呢? 首先使用chrome
作为关键字查找一下:
> brew cask search chrome
==> Partial matches
chrome-devtools chrome-remote-desktop-host chromecast google-chrome
上面的命令运行后列出了4个候选项,很明显最后一个google-chrome
就是我们要安装的,继续输入
> brew cask install google-chrome
下面只需要稍微等一会儿,最新版的Google Chrome就乖乖的安装在你的MacBook里面了。
6. 高效操作指南
前面几个章节,指出日常操作中遇到的痛点
,然后给出了一个解决方案。相当于发现问题解决问题
,但是分析
解决方案的过程呢?高效操作有没有什么固定的模式和规律呢?
6.1 声明式操作优先
# 你如何打开一个程序?
首先,让我们一起回顾一下,在Windows下你是如何打开一个已经安装的应用程序的?
- 从
开始
菜单找到要打开的应用程序,然后双击打开 - 将应用程序的快捷方式发送到桌面,在下次要打开的时候,从凌乱的桌面找到快捷方式然后双击打开
这个过程有什么问题吗?问题是你有一个找
的过程,这个找
的时间和你安装的程序多少以及当前桌面的凌乱程度息息相关。你是不是经常找
的很辛苦?那是因为人脑擅长创新
,电脑才擅长重复
,重复的从固定的集合寻找确定的事物明显不是创新。
所以回归到最初的需求:你要打开应用程序A。你不应该自己
去找这个程序A,而应该告诉你的电脑,你要打开程序A,然后电脑会去找
到程序A,然后打开,而且这个过程远比你自己去找来的快。
# 命令式操作和声明式操作
- 你要打开程序A,然后你在文件里面找到程序A,双击运行,这叫“命令式操作”。
- 你告诉电脑,你要打开程序A,电脑就打开了程序A,这叫“声明式操作”。
命令式操作和声明式操作的区别就是,你应该告诉电脑你要什么而不是自己做给电脑看,你的关注点是做什么
而不是怎么做
。
因此为什么这么说Alfred是一个伟大
的工具呢?因为Alfred是一个支持声明式
操作的工具平台,你只需要告诉它你要什么就可以,它会帮你完成,如果它不会做,你只需要配置
一下,下次它就会按照你的配置自动去做了。
6.2 键盘优先
键盘毫无疑问是计算机最重要的外设,它是你和计算机系统之间最主要的交互媒介,你的双手应该大部分时间都放在键盘上,手离开键盘去寻找鼠标是一件不太高效的操作方式,而且用多了鼠标会引发鼠标手
和肩周炎
,但是有时候某些场景用一下鼠标确实方便,那就尽量使用触摸板吧,总体而言键盘优于触摸板,触摸板优于鼠标。
#键盘强迫症指南
请看下图,是一个典型的Mac键盘布局,其中彩色的部分称为键盘热区
,有键盘强迫症的人不仅仅手不会离开键盘,他们的手甚至都不太愿意离开热区
,具体表现就是只有10个手指
在动,手腕
是不会偏离位置的。然而当你使用方向键的时候,你的手腕
势必会离开标准位置,键盘强迫症患者是不能容忍
这样的行为的,因此最终发明了VIM和一系列类VIM快捷键的软件。
这里推荐一个Chrome插件Vimium,该插件将VIM的快捷键引入到Chrome浏览器。
6.3 命令行优先
命令行操作有统一的风格,你输入命令和参数,运行后得到结果,非常符合声明式
的风格,而且系统已经自带了很多好用的命令,安装新命令也是很方便,因此在大多数不需要显示图片的场景,你应该优先使用命令行,比如:
rm /
(如果你不知道上面一个命令是什么意思,请不要尝试。)
6.4 纯文本优先
你电脑中的文件只有2种:
- 二进制文件
- 字符文件(即纯文本文件)
二进制文件主要方便计算机程序来读取处理,比如可执行文件或者一个以doc结尾的Word文件;而纯文本文件主要为了人类的可读性,当然计算机也是可以处理纯文本的,只是处理起来没有二进制文件那么高效,但是纯文本的优势是命令行的命令大多数是只接受纯文本文件作为参数的,因此当你要写点什么的时候,推荐使用纯文本而不是Word,例如本文就是使用Markdown写的,主要精力放在内容本身而不是显示格式,完全不像使用Word写大段文字充满挫败感。
6.x 改变习惯,养成习惯
日常操作中,你大多数的第一反应操作往往是不高效的,回顾前面提到的几个优先规则,当你发现不高效的习惯的时候,静心下来精心设计一个更加高效的方案然后狠心改变旧习惯养成新习惯,不断的迭代,最终的效果就是你想要做什么
,然后输入简短的指令,你的电脑知道怎么做
。
7. 工具的意义
工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确的完成工作和学习任务而服务,操作再高效但是思路不对并没有什么用。
这么长的文章都看到最后了,说明是真爱!