我最喜欢的MacBook工具
我可以花好几天时间摆弄我的电脑。实际上,我经常这么做。每当我发现什么烦人的东西,就恨不得立刻放下手头的一切去解决它。这可以是任何事情。从一些小问题,比如“嘿,我刚才运行了两次相同的命令,我应该创建一个别名!”到安装一些随机的工具(“嗯,我想知道有没有办法在终端里长时间运行的任务完成后收到通知,这样我就可以趁这段时间做点别的事情了?”)。我也很喜欢阅读别人都在使用哪些工具。这次,我决定分享一下我的工具。
由于这篇文章很长,我不得不把它分成两部分:Mac 应用程序和 CLI 内容(即将推出!)。
阿尔弗雷德
Alfred 是一款启动器——只需按下 ⌘+空格键即可启动,让你快速打开其他应用。功能强大到极致!我简直爱死它了!甚至在我拥有 Mac 之前就知道它的存在,我非常羡慕 Mac 用户能拥有这么棒的启动器。我在 Windows 系统上用过Launchy ,在 Linux 系统上用过GNOME Do,它们都很棒(拥有一个启动器就能让你的工作效率大大提升)。
所以当我拿到Mac电脑后,做的第一件事就是用Alfred替换了Spotlight。即使没有PowerPack,它的功能也比Spotlight强大得多。但PowerPack(一个付费扩展程序)才是它真正强大之处。它启用了一些新功能,例如文本扩展(这里称为“片段”)和剪贴板历史记录。不过,PowerPack最棒的功能是“Alfred工作流”——用户自定义脚本,可以让你自动执行许多任务。我创建了很多工作流,可以快速创建提醒事项、待办事项、临时邮件、货币转换,或者搜索表情符号和Unicode字符。
Alfred 已经有 4 版了,但我还没从 3 版升级。
我的 Alfred 工作流程
以下是我在使用 Alfred 时采用的一些工作流程:
- Alfred Workflow Todoist - 让我可以快速地向 Todoist 添加任务
- 转换- 将一种单位转换为另一种单位。我主要用它来转换货币。
- EggTimer——工作流程有点过时,但它是唯一一款能让我轻松创建计时器的工具(我希望每工作 60 分钟就休息一下)。
- 表情符号搜索- 比 Mac 上的默认表情符号图标面板搜索速度快得多。
- Alfred 3 的提醒功能——输入“r do stuff in 20 minutes”即可创建一个 20 分钟后的“do stuff”提醒。这样我就可以快速设置提醒,而不会被当前任务分散注意力。
- 临时邮箱- 当需要注册某些垃圾邮件服务时,创建一个一次性临时邮箱。
- Toggl - 与Toggl时间跟踪器交互
- Unicode 符号搜索- 快速查找和复制任何 Unicode 符号。
磁铁
Magnet 是一款窗口管理器。令人难以置信的是,Mac 至今仍然没有内置支持键盘快捷键的窗口管理器。幸运的是,Magnet 填补了这一空白(只需花费几美元)。默认情况下,它使用 ⌃+⌥ 作为修饰键,这与我的许多 VS Code 设置冲突(我所有的自定义快捷键都使用 ⌃+⌥ 作为修饰键)。所以我将其更改为 ⌘+⌥+⌃。听起来需要同时按下很多键,但我使用 Karabiner Elements(下文会提到)将这三个键映射到了一个按键上。
如果你更倾向于免费替代方案, Rectangle也是个不错的选择——它是已停止开发的 Spectacle 应用的继任者。我最初使用 Magnet 是因为 Spectacle 缺少一些快捷功能(例如“屏幕分割成 1/3”)。但 Rectangle 的功能甚至比 Magnet 还要丰富,所以它看起来是一个非常棒的替代品。
如果你怀念平铺式窗口管理器, Amethyst也是个不错的选择。我试用过,但感觉不如 i3,所以就没继续用。它缺少一些基本功能,比如用modifier + arrow key.
Todoist
我的待办事项管理工具。我试过很多不同的应用(天哪,我觉得我都试过了),但最终还是觉得 Todoist 最好用。我喜欢它简洁的界面、“未来 7 天”视图,以及创建任务时可以使用的快捷键。例如,如果我添加一个任务:“今天写一篇博客文章 #blog”,它就会创建一个“写一篇博客文章”的任务,将截止日期设置为今天,添加“优先级 1”标记,并将其分配到名为“博客”的项目。真棒!
推土机
我的菜单栏大部分时间都是这样的:
这就是它真实的样子:
Dozer 是一款小巧的应用程序,它让我的菜单栏井然有序。它可以隐藏不常用的菜单项,而且通过快捷键,我可以快速显示/隐藏它们。如果你需要更多功能,还可以选择付费应用Bartender,但对我来说,Dozer 已经非常完美了。
BetterTouchTool
BetterTouchTool(简称 BTT)可以让你自定义 Mac 上的任何输入设备。你可以创建自定义触控板或妙控鼠标手势、自定义键盘快捷键和宏(按键序列)。它还自带剪贴板管理器和窗口管理器。它完全可以替代我目前使用的许多其他工具。
但这些功能都不是我决定花10美元购买这款应用的原因。我买它是为了自定义我的MacBook触控栏。原版的触控栏对我来说根本没法用。按钮会根据你使用的应用而变化,这简直是史上最糟糕的设计之一。我不想每次切换应用后都重新摸索触控栏上的按钮。而且,一半的按钮根本没用。我不需要音量或亮度调节滑块!99%的情况下,我只需要调节一格就行了。我应该能一键搞定。所以,就像我认识的大多数人一样,我以前根本不用触控栏。直到有一天,我在HackerNews上偶然看到一篇文章,讲解如何让触控栏真正发挥作用。读完这篇文章后,我立刻就买了BTT。
现在我的触控栏上有(从左到右):
- Esc 键(我其实不用它,但是不能把它移除)。
- 一个特殊的按钮,可以将触控栏切换回默认的、糟糕的 Mac 版本(再次强调,它是默认的,但我不用它)。
- 这些按钮可以打开(或切换到)日历、邮件、待办事项和 Toggl 应用。我偶尔会用到它们(主要是在我把 Macbook 放在腿上工作的时候,否则用键盘切换对我来说更快)。
- 一个脚本,用于显示当前正在播放的 Spotify 或 YouTube 歌曲。只有当这些应用打开时才会显示。如果我点击歌曲名称,就会跳到下一首。史上最佳按钮!
- Spotify/Youtube 的播放/暂停按钮。
- 亮度调节按钮。
- 音量减小、增大和静音按钮。
还有很多其他的小部件可以使用——天气、温度、时间和日期、自定义界面,或者 AppleScript。自从我设置好触控栏以来,BTT 的作者又添加了很多新的小部件,所以我迟早得修改一下。
弗朗茨
一个应用就能整合我所有的即时通讯应用。它是一款很棒的免费工具,支持大多数即时通讯应用。我把它和 Slack、Skype、WhatsApp、Telegram、Twitter、Hangouts 以及 Facebook Messenger 集成在一起使用。唯一的缺点是——每添加一个服务,就会创建一个新的 Electron 应用。内存占用有时会非常高。但到目前为止,我还没有找到任何可靠的替代方案。
通量
Flux 会根据一天中的不同时间自动调节屏幕颜色。无论是清晨还是深夜(对我们大多数程序员来说,通常时间差不多),它都会让电脑屏幕的颜色偏暖(偏黄)。这是一款安装一次即可高枕无忧的应用程序。
Karabiner-Elements
Karabiner-Elements 是一款免费的键盘自定义应用(它与 BetterTouchTool 有很多功能重复)。你可以交换按键、更改功能键的行为,或者定义一些复杂的宏。我用它来做三件事:
-
我把 Caps Lock 键和 Esc 键互换了(真不敢相信以前没这么做的时候我是怎么过来的)。幸好我在换成 MacBook 之前就发现了这个技巧,MacBook 的触控栏上有个没用的 Esc 键。
-
由于我使用的是Kinesis Advantage 2 键盘,我已将 Home 键重新映射为 ⌃(Ctrl),并将 End 键映射为 ⌘+⌥+⌃ 组合键(这是我使用 Magnet 进行窗口管理时使用的一个修饰键)。这个组合键(通常还会加上 Shift 键)被称为“Hyper”键,它能让你多出一个修饰键来配合快捷键使用。以防万一 Mac 上三个修饰键不够用。
如果你使用的是“普通”键盘,我看到有人将“按下 Ctrl”映射为 Esc 键,将“按住 Ctrl”映射为 Ctrl 键。这非常巧妙,因为我们从来不会单独按下 Ctrl 键——它总是与其他键组合使用。这样就能将“Esc”(或者如果你按照我之前的建议交换了“Caps Lock”)释放出来,用于设置 Hyper 键或任何你能想到的奇特组合。 -
细心的读者可能会注意到,我现在已经无法启用大写锁定键了。“大写锁定”键现在变成了我的 Esc 键,而 MacBook 不允许在触控栏上重新定义“Esc”键。所以我现在有两个 Esc 键,却没有大写锁定键。这很糟糕——没有大写锁定键,我怎么在网上和别人争论呢?幸运的是,我找到了解决办法——我把同时按下两个 Shift键映射到了大写锁定键。听起来很疯狂,但实际上非常直观,也很容易记住。我不知道为什么这不是默认设置。为了实现这一点,我必须直接修改 Karabiner-Elements 的配置文件。你可以查看我的 dotfiles 仓库,了解具体操作方法。只需删除不需要的内容,然后将以下代码添加
karabiner.json到你的~/.config/karabiner/karabiner.json文件中即可。
鱼
我刚开始用 Linux 的时候用的是 Bash。后来换成了 Z shell,用的是 oh-my-zsh。之后我发现它有点慢,尤其是在启动的时候。我可没时间盯着屏幕等它加载,等了将近两秒钟。所以,在 prezto 刚兴起的时候(不像现在这样已经停止维护了),我就换成了 prezto。2017 年我换了台 Macbook,这正好给了我一个尝试新东西的好机会!当时我的一些同事在用 fish,看起来挺有意思的。它自带一些很棒的功能,比如自动建议、语法高亮,还有用 ⌥+→ 和 ⌥+← 切换目录。所以我试了一下,觉得还不错,所以一直用到现在。我用的是fisher包管理器,加了一些插件(虽然也有 oh-my-fish,但是 fisher 据说速度更快,所以我就一直用它了)。我尽量避免添加太多插件来加快终端启动速度(我平均每天都会启动很多终端会话,所以这些时间累积起来就很重要了)。
船长
它会在你打开或关闭大写锁定键时显示通知。由于我使用了一种略微特殊的大写锁定键操作方式,所以我喜欢在关闭它时有这种视觉(和听觉)提示。
安基
Anki 是一款间隔重复记忆法应用。我以前一直觉得自己很笨,因为记忆力很差。后来发现,原来是我方法不对。间隔重复记忆法的原理很简单,它能确保你不会重复那些已经记住的内容,而只记住那些你记不住的东西。我目前只在手机上使用 Anki,不过在电脑上添加新单词要方便得多。
此外,Anki 的用途不仅限于学习新语言(虽然我现在就用它来学习日语)!我认识一个人,几个月前他开始参与一个非常复杂的软件项目。这个系统包含很多组件,他(以及团队里的每个新成员)都需要很长时间才能掌握所有组件的工作原理。于是他开始用 Anki 制作卡片,描述系统的各个部分以及使用方法。很快,他团队里的其他人也开始使用 Anki,他们都说这比阅读厚厚的文档要好得多!
Grammarly
Grammarly 是一款可以检查文本语法和拼写错误的应用程序。作为一名非英语母语者,它帮我发现了很多我可能忽略的错误。我用了几个月的免费版,几天前终于购买了高级版。
斯基奇
在 Mac 上截屏非常简单。你可以使用快捷键快速截取整个桌面、桌面的一部分,甚至还可以选择一些选项,比如延迟截屏,这样就能截取网页上的悬停效果。之后,你可以打开截图,添加箭头或文字,然后发送给其他人。这种方法对我来说一直很有效,直到我发现了 Skitch。使用 Skitch,截屏后会自动打开一个简单的应用程序,其中包含一些默认的注释工具。它有巨大的粉色箭头、大号文字等等。完成后,你可以直接将截图从应用程序拖放到聊天窗口中。再也不用打开 Finder 查找截图,不用在“预览”应用程序中调整文字大小和颜色,也不用再用三条直线拼凑出笨拙的箭头了。有了 Skitch,我可以在不到 10 秒的时间内完成截屏、注释问题并将其发送到 Slack。
唯一的缺点是 Sketch 的键盘快捷键无法自定义,而且与 Mac 的快捷键冲突。最后我还是修改了 Mac 的快捷键。
KeyCastr
如果你好奇大家在视频里用什么应用来显示按键操作,KeyCastr 就是其中之一。我只用过一次,但如果以后需要录制屏幕视频,我肯定还会用它。
LIC卡
人们常说一图胜千言。嗯,一张 GIF 动图可能胜过九千字。尤其是在你想展示一些 bug 的时候。LICEcap 是一款可以快速录制屏幕 GIF 动图的免费软件。我超爱它!
SimpleMind Lite
思维导图工具。
解存档者
我主要用它的命令行工具unar来解压各种类型的压缩包。再也不用记住那些tar参数了,真是太好了unzip!
Visual Studio Code
我的代码编辑器。我使用 Sublime 很多年了,但当我换用 Macbook 时,我决定最终迁移到 VS Code(此前曾两次尝试迁移均告失败)。
工作流程
我用它来整理我的长期和短期目标,然后将它们转化为 Todoist 中的可执行步骤。
琐碎但必不可少的事
还有许多工具可能大家都知道,但为了使这份清单完整,这里列出来:
-
Evernote——一款无需多言的笔记应用。虽然现在它不太受欢迎,但我从未真正放弃过它。免费版对我来说仍然完全够用。
-
git——版本控制工具。
-
vim - 我主要使用 vim 进行快速编辑(不需要功能齐全的 IDE 的小文件或笔记)。
-
VLC——视频播放器。我在所有Mac、Windows和Linux电脑上都使用过它。
-
GIMP——我或许应该学学怎么用那些时髦、漂亮(当然也很贵)的Mac图像编辑软件。但我太懒了,而且我用GIMP好几年了,所以目前来说也够用了。
-
Inkscape——见上文。
-
Dropbox——我最喜欢的文件同步工具。
-
iTerm2 —— Mac 上事实上的终端应用。它非常好用,配置信息会妥善地保存在我的 Dropbox 备份文件夹中,我近期没有更换其他终端的计划。
-
VirtualBox——虽然我已经很久没用了,但它仍然是我最常用的虚拟化工具。以前,当我还在家用Windows系统的时候,VirtualBox是一个很棒的工具,可以轻松启动Linux容器,这样我就可以进行一些编程工作(那时还没有Windows 10的各种编程功能)。
-
点文件。我非常喜欢点文件,虽然有一些很棒的工具可以用来管理它们(比如yadm或dotbot),但我一直都用一些 bash 脚本来管理。我会尽量保持它们的最新状态,这样万一笔记本电脑坏了,我就可以把所有设置和软件都转移到新电脑上。你可以在这里找到我的点文件。
如果你用的是 Mac 或 Linux 系统,没有点文件,但又想保留软件的配置,可以试试mackup。它可以将大部分应用程序的配置备份到 Dropbox、iCloud 或类似服务的文件夹中,包括 git、bash 等等(它支持超过 450 个应用程序)。此外,它还会将配置文件替换为指向备份位置的符号链接,这样它们就会自动备份。而且只需一条命令,你就可以在另一台机器上恢复它们。 -
Docker for Mac - Docker 的 Mac 客户端。在我拥有 Mac 之前,我一直很羡慕 Mac 用户使用 Kitematic 应用时那漂亮的 Docker 界面。通过漂亮的图形界面下载镜像、列出正在运行的容器,或者在容器内执行命令,听起来真是太棒了。等我换成 Mac 的时候,我已经很熟悉 Docker 的使用,完全可以在终端里轻松完成这些操作。所以实际上我从来没用过它的图形界面(但如果你是“图形界面控”,我敢肯定你会爱上它的!)。
更糟糕的是,Docker for Mac 还存在内存泄漏问题。这个问题早在 2018 年就有人报告过,但后来因为“这是 Mac 的问题,不是 Docker 的问题”而被关闭了。尽管如此,仍然有人不断反馈这个问题。即使容器已经停止运行,Docker 在运行一段时间后也会开始占用大量内存(而且它的能耗也很高,所以我通常在使用电池时会禁用它)。
我虽然不用这些工具,但我强烈推荐它们。
最后,还有一些很棒的工具我目前没有使用。其中一些是我过去用过的。而对于另一些工具,我至今还没有找到合适的用途:
-
tmux——我尝试过几次使用这个终端复用器,但一直没坚持下来。在 iTerm2 里定义快捷键来分割终端并在它们之间切换很方便,所以我并不需要单独的工具。我也不需要让终端会话长时间运行。如果一个终端崩溃了,没关系——我只需要启动一个新的。使用 tmux 的明显理由是当你经常连接多个服务器时。但我现在不再需要这样做了。随着 Docker 和整个 CI/CD 流程的普及,我意识到我越来越不需要通过 SSH 连接到任何地方。我在本地机器上工作,把代码推送到 GitHub 或 GitLab,然后服务器就会自动接管后续工作。
-
BitBar是一款很棒的小应用,它可以将任何脚本或程序的输出显示在菜单栏中。CPU 使用率图表?没问题。用于与 MySQL 交互的小菜单?Docker 状态?比特币价格?十种不同的电池电量指示器,或者苹果键盘的电池电量指示器?统统都有!我没用它的唯一原因是——目前我不需要这些脚本。我只需要显示内存和 CPU 使用率图表,但可惜的是,我查找时发现没有内存图表插件,所以我改用了MenuMeters。
-
安非他明——阻止你的MacBook进入睡眠模式。做演示时是个好帮手。
-
Dash——一个很棒的文档访问工具。它几乎支持所有编程语言,可以离线使用,甚至可以直接在 Stack Overflow 上搜索。但不知为何,我始终无法真正习惯使用它。
-
Flycut 是我之前用过的剪贴板管理器,后来换成了 Alfred。它是免费的。
-
Sublime Text——我用它作为默认编程编辑器好几年了。后来我换成了 VS Code。但我仍然保留 Sublime Text 来快速预览和编辑大型文件(尽管我越来越多地使用 vim 来做这件事)。
-
慢速退出应用——最烦人的就是我不小心按了⌘+Q而不是⌘+W,结果把当前应用关掉了。慢速退出应用通过设置时间阈值来避免这种情况。默认情况下,你需要按住⌘+Q一秒钟才能真正关闭应用。如果我之前就知道这个功能,我肯定会用它,但因为不知道,所以我决定把⌘+Q重新映射成一个没用的命令。现在它变成了“反转颜色”。
-
快捷键助手——我发现这个小工具的时候真是太兴奋了。安装之后,每次按住⌘键,它都会显示一个包含当前应用程序快捷键的叠加层。但后来我发现自己其实用不到它,所以就卸载了。
结论
这些工具大多是我从同事那里了解到的,也经常浏览其他人的 dotfile 文件,以及阅读 HackerNews 上的帖子。如果没有其他人分享他们的工具,我可能现在还在用 Nano。所以我希望有人会觉得这份列表有用,并在此基础上创建一份更好的列表!
准备这些列表也是一个清理我的 Mac 的好机会——我删除了一堆未使用的应用程序、脚本和别名。
敬请期待第二部分,我将在其中介绍我最喜欢的命令行工具!
照片由 Lachlan Donald 拍摄,来自Unsplash
文章来源:https://dev.to/switowski/my-favorite-macbook-tools-2apf



















