Intro

我其实一直不是「启动器」类应用的重度用户,普通使用如打开应用、查文件、查词、计算器等操作,用用 macOS 内建的 Spotlight 就足够了。至于剪贴板管理、窗口管理等需求,市面上也有那么多优秀应用供选择。

只不过后来我有了新需求:写文章时需要频繁切换好几个应用, tab 显得不是那么方便了,就想找一款能「定制打开应用快捷键」的工具(比如 B 打开 Brave 浏览器, O 打开 Obsidian 等)。

可是,与其单独再下载一款能满足需求的工具(如 HotKey App),好像还不如直接使用聚合了各种生产力功能的启动器,顺便把 Spotlight 也替换了呢。本着「能少装一个应用是一个」的原则,我开始寻找适合自己的启动器类应用。

为什么是 Raycast?

上文也说,我不算是一个「重度用户」,不需要它有强大的 workflow 等功能,所以长得好看、符合使用习惯是最重要的。

Raycast 的界面简洁明了,可以说会用 Spotlight 就会用它。我初次使用时已经是比较新的版本了,v1.26.0 开始的新 onboarding 指南(也就是「新手教学关」),以一种新颖又不失乐趣的方式,带领新用户探索一些 Raycast 的特性,还会有任务与进度追踪,一下子就被吸引住了。再加上开发团队有趣又更新勤快,changelog 写得认真,总之带给我很大好感。

只用一个应用有什么好处呢?

管理和迁移方便多了。

Raycast 支持导入导出数据,换设备时可以很方便地迁移所有偏好设置及保存在其中的快捷键、自定义片段等内容。这样一来,比起使用多个应用,把所有数据都汇聚在一个应用里,更便于管理和迁移。将来我换电脑,想从头开始(而不是使用 Migration Assistant 迁移)时,就不用再装好几个应用了。只要一个 Raycast,再导入配置数据就可以了。

使用 Raycast 有一段时间了,也渐渐摸索了不少门道。下文将和大家分享我使用 Raycast 替代了哪些应用,以及其中的小技巧。

剪贴板历史——替代 Maccy

我对剪贴板管理的需求非常简单:

  • 在 Mac 记录最近的剪贴板历史就可以,不需要 iCloud 同步,不需要 Universal Clipboard
  • 不需要分组,也不需要无限量历史记录(根据帮助手册中的说明,Raycast 可以保存 256 个历史记录,对我来说足够了)
  • 能够预览剪贴板条目内容,并支持文字、图片、文件等,方便统一复制,统一粘贴

在此之前都是使用开源的 Maccy 应用。它的界面简洁,又是 keyboard first,可以手不离键盘就执行搜索、pin 住、清空历史等操作,也有快捷键可以快速定位某一条目。

Maccy

不过,使用 Maccy 时有一个问题:如果在 Finder 复制图片或文件,在它的历史记录中只会保存一个文件名称,而不会保存文件本身或对应的查找路径。

而刚好 Raycast 也提供了剪贴板管理功能,试用下来非常满意,也有很多欣喜的 feature。

剪贴板历史界面与操作

在 Raycast root 界面搜索 clipboard history 或使用快捷键唤醒(我设置的是 space ),可以看到剪贴板历史记录界面是这样的:

其中,左侧是剪贴板条目列表,不同的条目类型会有不同的图标区分;右侧是内容预览及一些 metadata,包含条目复制于哪个应用、复制时间等。

我们来看一下不同类型条目的预览(假如是 Gif 动图,也能预览播放效果):

我们可以输入文字检索,也可以按类型筛选(Text 文字、Images 图片、Files 文件、Links 链接、Colors 色值这 5 项)。另外,v1.30.0 新功能,可以直接搜索图片及文本文件中的文字了(不过中文支持仍欠佳)。

快捷键 + 数字 可以按列表顺序快速选取条目。如果条目比较多,不能一下看出是第几个,长按 将会显示对应的数字。

长按 ⌘ 将会显示对应的数字

最下方是操作栏,其中左边是主操作,可以在 设置 中自定义,我设置的是「粘贴到当前窗口」;按 K 可以展开更多操作。

每一种类型的剪贴板条目,它可以执行的更多操作都是不同的。

比如文字类型,可以 pin 住,就不会随着超过条目数量上限或超过自动清理期限而被自动清除。也可以选择「Save as Snippet」直接保存为自定义片段(详见下文)。

图片类型,可以打开系统的 Quick Look(也就是我们常说的「空格预览」),甚至可以直接复制图片中的文字或将之保存为自定义片段(当然,同样地,中文识别不太行)。

链接类型,按 O 可以直接在浏览器打开它,也可以保存为 Quicklink 便于后续快速访问。

如果复制了一个颜色,还能直接转换为其他的格式再复制到剪贴板。

Tip: 复制「文件」后,当文件从该路径移除,剪贴板历史的条目记录也会同步移除。

剪贴板历史的偏好设置

, 进入 Raycast 偏好设置,在 Extensions 选项卡,找到 Clipboard History,就可以自定义一些项目:

  1. 设置主操作是「复制到剪贴板」还是「粘贴到当前应用」
  2. 设置保留历史记录的时间(被 pin 住的条目不会被自动清除)
  3. 设置忽略的 app(比如不保存从密码管理器复制的内容;Raycast 默认会自动忽略一些敏感内容
剪贴板历史的偏好设置
Raycast 默认会自动忽略一些敏感内容

我觉得 Raycast 剪贴板管理的最大特点和优势是可以与其他内建插件打通,比如上文提到的 Save as Snippet,Save as Quicklink 等,就很方便。比如我复制了一段文本,以后还需经常使用,那么除了将它置顶 pin 住外,还可以直接保存为自定义片段,往后就能很方便地调用了。

了解更多,可以查看 帮助文档—剪贴板历史

窗口管理——替代 Magnet 或 Rectangle

相信大家使用 Mac,窗口管理器一定是必不可少的应用类别之一了。不管是商店付费的 Magnet 还是开源免费的 Rectangle ,都是热门之选。

Raycast 也内建了 Window Management 这一功能,这是设置中的 Command 截图:

Tip: 如果觉得太多了,你不需要用到所有的指令,可以在右上角筛选「仅展示启用的」或「仅展示自定义过的」指令。

可以看到有这几类窗口管理指令:

  • 全屏、几乎全屏、高度最大、宽度最大
  • 1/2、1/3、1/4、1/6 屏
  • 居中、上下左右移动、窗口缩放、恢复原来大小

…等等,与各大窗口管理应用所支持的指令大差不差。

为常用的指令设置快捷键,就可以开始分屏了。我比较多使用左右半屏、角落 1/4 以及 1/3、2/3 的组合,所以不需要每一个都设置快捷键。

并且在第一次使用时,相信看到这么多项目要设置一定很头大,所以 Raycast 也贴心地为我们准备了 3 种 presets,来自常见的 Magnet、Rectangle、Spectacle 这 3 个应用。选择一种预设后,Raycast 就会参照所选应用的默认快捷键,自动帮你设置好几个指令。接下来我们只需根据自己的习惯进行增删和修改的调整就可以了。

当然,如果你的常用指令不多的话,直接按照自己的喜好设置就好。

窗口管理的偏好设置

Tip: 上图可以看到,我们也可以设置窗口之间的 gap。

另外,如果记不住快捷键,或者临时需要用到一些不常用的分屏选项,也可以直接在当前窗口唤起 Raycast 的主搜索框,搜索指令名称就可以了。

直接搜索窗口管理指令

与 Rectangle 等专门窗口管理应用的不同

  1. 没有 drag and snap,也就是拖拽窗口到屏幕边缘,会自动吸附并分屏的效果。我不太用到拖拽吸附功能,所以无妨
  2. 没有 Rectangle 的 Repeated Commands(见下图中蓝色框设置部分)

Rectangle 可以设置重复按下「半屏的分屏快捷键」时,窗口从 1/2、2/3、1/3 大小之间循环切换。这个功能还是挺好用的,尤其是记不住快捷键时,只要记住「半屏」的快捷键,然后多按几次就可以切换 1/3 和 2/3 屏了。

不过 Raycast 的窗口管理,该有的功能也都有,已经满足我的日常使用了。我最喜欢 Almost Maximize 的功能,可以让窗口占屏幕 90% 大小,「几乎全屏」。适用于想留出一些桌面空间,不像全屏那么「满满当当」、有压力的场合。

Almost Maximize 设置

了解更多,可以查看 帮助文档—窗口管理

卸载应用——替代 AppCleaner

AppCleaner 想必也是大家的必备品。它可以在删除应用的同时在系统 ~/Library 等路径检测关联文件,以便同时删除、彻底删除一个应用。

而在 v1.31.0 版本更新中,Raycast 也增加了这一卸载应用的选项,并且也支持检索关联文件。只要搜索某一应用,按 K 打开更多操作,搜索 uninstall application 就可以了。

比如我们想要用 Raycast 卸载 AppCleaner🤣,就可以如下图操作:

与 AppCleaner 的对比

在这一功能推出之时,我用 Raycast 测试卸载了几个应用,发现 Raycast 检测出来的关联文件会比 AppCleaner 的少(但并不是每一个应用都会少)。比如它就不会检测 ~/Library/Application Scripts 路径下的关联文件。我想后续更新应该会改进。

后来在最新的 v1.32.0 版本中(本文发表于 2022 年 4 月 8 日),对此做出了改进,能够更加精确地检索关联文件了。

我们以 LICEcap 应用为例,这是 AppCleaner 的检索结果:

这是 Raycast 的检索结果:

都可以看到待卸载应用及关联文件的路径和大小,也可以选择是否保留某些文件。

鉴于卸载应用这个功能较新,我想各位可以观望一段时间。

Snippets——替代 Text Replacement

Snippets 即自定义片段,可以保存一些常用的用语,比如邮箱、通讯地址、经常回复其他人的话语、经常使用的代码片段等。

macOS 其实已经有一个内建的 Text Replacement 了,在 System Preferences > Keyboard > Text 可以找到它。它可以通过 iCloud 同步,可以在 iOS 的 Settings > General > Keyboard > Text Replacement 看到同步的内容。

macOS Text Replacement

不过,从上图的界面我们也能发现,它更适合用于管理单行文本或较为简单的内容,而多行文本、代码片段或是单纯字数一多,不论是创建还是管理都有一定困难。

所以我会这样使用:

  1. 简单的,需要同步在手机上使用的,放 Text Replacement
  2. 复杂的,只会在 Mac 使用的,放 Raycast Snippets

创建 Snippets

比如想要创建一个电子邮箱地址的自定义片段,只要搜索 Create Snippet,输入名称、snippet 内容,以及 keyword(可选),就可以了。

keyword 会用在 auto expansion 自动替换上面,比如设置 keyword 为 @@,那么每当输入 @@,就会自动替换成 hi@abc.com。如果没有设置 keyword,就不会自动替换,需要手动搜索这个自定义片段,再复制或粘贴。

Raycast 创建自定义片段

Tip: 上文也提到,我们可以从剪贴板历史条目直接创建一个自定义片段。

要达到同样的目的,Text Replacement 是这样的,也很简单方便,所以我建议短文本可以根据自己的需求来选择使用何种方式创建。长文本的自定义片段一定是 Raycast Snippets 更佳。

Text Replacement 创建自定义片段

管理 Snippets

在 Raycast 主搜索框搜索 Search Snippets,或使用别名(如 ss),就可以进入自定义片段的管理界面。可以在此执行搜索、筛选、编辑、Pin 住等操作。

管理界面和上述的剪贴板历史特别像(希望可以再区分一下)。列表会展示片段名称,如果有添加 keyword 则会一并显示 keyword。

Raycast 管理自定义片段

Snippets 的偏好设置

Snippets 主要有两个指令,创建片段和搜索片段。你可以像我一样为它们设置别名:

可以设置 auto expansion 开关,关闭的话就不会自动替换了,只能在搜索片段的时候手动复制或粘贴。也可以将某些应用排除在自动替换外。

Snippets 的偏好设置

还有一个 Expand 方式设置,有三种选项:Immediately、After Delimiter (keeping)以及 After Delimiter (discarding)。它比较 tricky,我在这里可能演示不太出来,大家不妨自行体验感受。

cmd 变换为 为例:

默认 Immediately 立即变换,将会在输入 cmd 后立即变换为 (中文输入法也是如此,不会出现在候选词中,而是直接变换)

Immediately

After Delimiter (keeping),将会在输入 cmd 并输入一个分隔符(如 空格 / . 等符号)后才进行变换,同时保留(keeping)这个分隔符。

After Delimiter (keeping)

After Delimiter (discarding),将会在输入 cmd 并输入一个分隔符(如 空格 / . 等符号)后才进行变换,但是会删去(discarding)这个分隔符。

After Delimiter (discarding)

如果不想立即变换,比如有时候输入 cmd 是真的只想输入 cmd 而不想变换成 ,那么 After Delimiter (discarding) 可能是一个更好的选择:超过一定时间不输入分隔符,就不会再进行变换了。

了解更多,可以查看 帮助文档—Snippets

Search Menu Items——替代状态栏菜单

Raycast 有一个 Search Menu Items 的功能,是我最近的心头好。

它可以帮助搜索状态栏菜单,也就是应用的这一栏:

用在那些「知道某个选项的名字,但不知道放在菜单哪一层级」的情况下,特别实用。这是什么意思呢?比如在 Stickies 这个应用里,我想要暂时取消「自动改正拼写检查」,我知道菜单栏条目大概是叫做 spell check…之类的,但是不知道具体名称,也不知道具体在哪一级菜单下面,找起来就很麻烦。

「自动改正拼写检查」在 Edit > Spelling and Grammar 下

这时我就可以直接在 Search Menu Items 里搜索 spell,就能快速定位到相关的选项。如果它们有自带的快捷键,也能显示快捷键。

再比如有些常用的 export、浏览器的书签管理和插件管理页等,可能突然忘记了快捷键,直接搜一搜就能找到了。

Tips: 如果经常用到状态栏菜单搜索,用别名可能不是最方便,我建议使用快捷键(如右侧的 + / ,按起来也很快速)。

查词——替代 Dictionary

用 Spotlight 时就很习惯用它来查词,不过它只会显示一部分的释义(比如下图,我有中英日三种语言的词典,但 Spotlight 只显示了英文),需要前往词典应用才能查看全部。

Spotlight 查词


而 Raycast 的查词功能是可以查看这个词在所有词典中的释义的:

Raycast 查词

我们可以对比一下 browser 这个词在词典应用中的显示,可以看到 Raycast 的查词结果是与它一致的:

词典应用

这样能看到所有释义,就会比 Spotlight 方便许多。

想要查词,不仅可以在主搜索框搜索 Define Word,再输入要查的词:

还可以通过 Fallback Command 来执行。比如搜索「少数派」,它显然不是任何一个 Raycast 内建的插件或指令名称,就可以使用 Fallback Command,来查词或搜索网络、搜索商店等。

Fallback Commands 是可以自定义的,了解更多,可以查看 帮助文档—Fallback Commands

当然如果能用系统 Look Up 会更方便啦。同样一个词 Look Up 里是这样的:

Look Up 查词

如果是可以选中的文本,我会直接使用 Look Up 来查词;其他情况我会使用 Raycast Define Word 来查词。

Outro

Raycast 的 CEO 与 Protocol 有一个对谈 ,说到了一个很有意思的事情:

You’re listening to Spotify while sending emails, and an annoying song starts playing. Only Spotify is buried underneath your various work-related windows: Chrome, Slack, Outlook, ClickUp, you name it. Your Mac no longer has a play/pause button, despite its flashy touch bar. It takes longer than you’d care to admit to find Spotify and finally skip that damn song.

你一边敲邮件一边用 Spotify 听歌。你听到了一首恼人的歌。不幸的是,Spotify 被埋在了成堆的工作窗口之下:Chrome、Slack、Outlook、ClickUp…你的 Mac 已经没有实体的播放暂停键了,取而代之的是一条酷炫的 Touch Bar。然后你花了好大工夫终于找到了 Spotify,把歌切了。

虽然我的电脑没有 Touch Bar,切歌这件事情不是问题。不过 Raycast 配合它的插件商店以及自定义脚本,还会有更多有意思的玩法。它真的是一个很强大的启动器,并且几乎所有操作都能用键盘完成,生产力加分。

如果你已经很熟悉 Spotlight,想更进阶一步,不妨看看 Raycast。

实用链接

关联阅读

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀