如果只让我推荐一个 MacOS 上的软件,我会毅然决然推荐 LaunchBar。

LaunchBar 是一款运行于 Mac OS X 的程序启动器。借助它,用户可以通过键入所要搜索的项目的简短的缩写来进入程序和文件。它运用一套自适算法来「学习」用户对特定程序偏好的缩写。例如:通过训练,可以通过键入「PHO」来启动 Adobe Photoshop,可以通过键入「IB」来启动 Interface Builder,甚至可以通过键入程序名中未出现过的字符来启动程序。
但 LauchBar 的功能并不局限于程序启动,还包括如文件管理、将当前选定项目传送至命令行以及剪贴板管理和内置计算器。
UI 研究者 Bruce Tognazzni 评价说:「 LaunchBar 可以针对复杂而重复的切换动作为专家级用户提供远远优于图形界面的体验。」

──摘译自维基百科(https://en.wikipedia.org/wiki/LaunchBar)。

LaunchBar 是 Objective Development 公司的主要产品,这家公司于 2004 年成立于奥地利维也纳。LaunchBar 支持英文和德文两种界面语言,与系统语言相对应,非德文系统的 LaunchBar 都使用有英文界面。其官方网页可以找到其功能概述、及下载和购买地址:
https://www.obdev.at/products/launchbar/index.html

本文将详细介绍它的一些基础功能,文中界面截图采用英文版本,德文版本用户可以对照本文中涉及到的英文功能的相应德文翻译使用 LaunchBar。

安装后的初始配置

安装 LaunchBar 后打开主界面,按下 ⌘ ,,打开它的配置,在“Shortcuts”选项卡下的「Search in LaunchBar」项目中选择其触发键,我设置的是「⌘ Space」;另外为第二个红框中「Instant Send」选择即时发送动作触发键为「Double fn」(双击 fn 键,当然也可按个人习惯设为其它键,此即时发送动作会在后面的章节中介绍);接着勾选最后一项「Quit LaunchBar with ⌥ ⌘ Q」,以保证 LaunchBar 时刻运行而不会因误按 ⌘ Q 而被关闭。

eng_start.png

如果系统设置中 Spotlight 的快捷键也定义在 ⌘ 空格 上,请在系统中把它关闭或移到其它的快捷键上,否则会和 LaunchBar 的快捷键产生冲突。建议把它定义在 ⌥ 空格 上。

spotlight.png

接着切换到「Advanced」选项卡下,把最下面的「Preferred Input Source」项目选择为拉丁语系输入法,如英文、德文等。

eng_input_source.png

这样可以使每一次召出 LaunchBar 都会自动切换到该输入法,因为 LaunchBar 的简写指令只接受字母字符,不接受中文,如果在中文输入法下可能会造成无法在 LaunchBar 中正常输入。关于 LaunchBar 不支持中文指令的应对方案,详见本文倒数第二个段落《对中文的支持》。

搜索本地

启动程序

作为启动器,快速启动程序是最基本的功能,即:简单的输入几个字母,就可以列出所以相关的程序。但如上文所述,LaunchBar 的优点在于,所输入的字母可以不相临。比如要启动 Safari,可以输入 SAF,可以看到在主界面的最右边显示输入的内容,下面列出搜索结果,第一条即为「Safari」。

safari_by_saf.png

也可以输入 SFR:

safari_by_sfr.png

只要这几个字母依次出现在了你想启动的程序名称中,你就可以在列表中找到它。列表会对搜索的结果智能排序,如果输入 SFR 后「Safari」没有出现在列表最上边,可以按向下键头选定它并按回车打开,LaunchBar 会记住你的操作,下一次再输入 SFR 时,「Safari」就会出现在列表最上边了。

在选定目标程序后可以按下 Tab 键进行对此程序的后续操作,比如可以关闭它:

safari_quit.png

注意:在输入字符的时候请不要停顿,否则 LaunchBar 会抛掉停顿前输入的字符,将停顿后输入的字符识别为重新输入。这样设计的优点很明显,当输入错误之后,只需稍微停顿一下,就可以重新输入,节省了删除错误字符的时间。这个设计在刚上手时可能会让用户不太习惯,可以在配置中的「General」选项卡下的「Retype Delay」调整重新输入的停顿间隔。随着使用时间的积累,你就会发现这是一个非常巧妙的设计。

retype.png

系统动作

当然也可以用这个方法进行关机(「Shut Down」):

shutdown.png休眠(「Sleep」):

sleep.png

重启(「Restart」):

restart.png

开启屏保(「Start Screen Saver」):

screensaver.png

清空纸篓(「Empty Trash」):

empty.png

弹出存储器(「Eject」):

eject.png

等各种系统动作,注意上面各截图中所输入的简称字符。

操作文件

搜索文件

如上所述,也可以快速搜索到任何文件。前提是把需要搜索的文件夹添加到搜索范围的列表中。在召唤出 LaunchBar 后按下 ⌥ ⌘ I,可以打开 LaunchBar Index,这里列出了 LauchBar 里所有可以搜索到的项目和功能,可以按照自己的需求激活或关闭相应的项目/功能。

index_folder.png

点击窗口右下角的「+」图标,弹出的选单中选择「Add Folder…」。

add_folder.png

然后选择需要添加的文件夹。这样此文件夹就被纳入搜索范围之内。

当然可以选择把整张硬盘全都放在搜索范围中,但这样的搜索结果中会列出很多系统文件等其它非目标文件,所以并不建议这样做。

通过方向键可以对搜索到的文件夹进行逐级浏览。

folder_navi_1.png

 

folder_navi_2.png

可以看到上面两张截图中高亮的颜色不同。蓝色表示第一级指令,橙色表示第二级指令,是在第一级指令的结果的基础上作做二级搜索。比如:上面两张截图的第一张中,输入了 DOCU 得到了「Documents」文件夹,再按下右方向键进入此文件夹,如第二张截图中所示,高亮变成橙色,此时再输入新的简称字符,是对此文件夹中的内容进行搜索。

处理文件

在高亮显示的文件上按下 Tab 键可以对所选文件进行处理,复制、移动、隐藏、用某程序打开、用工作流处理(见段落《调用脚本/工作流》),等等。

例如,移动/复制文件。

搜索找到需要处理的文件,按下 Tab 键。

move_file_1.png

输入要移动到的目标文件夹。

move_file_2.png

按下回车,就可以看到如下界面。 在此可以选择要进行的操作。

move_file_3.png

再例如, 选择打开方式。

跟上面的例子一样,搜索找到目标文件,按下 Tab 键。然后输入要打开此文件的程序名的简称字符。

open_with.png

按下回车,就可以用对应的程序打开这个文件了。

选择多个文件

LaunchBar 也支持同时选定多个文件。找到一个文件后按下逗号,此文件就被挂起,接着就可搜索下一个文件了。

more_files_1.png

之后可以把所有找到的文件一起执行一个动作。

more_file_2.png

搜索一切

LaunchBar 不只可以搜索程序和文件,它还能搜索联系人、浏览器书签、浏览器历史,在 LaunchBar Index 中,可以选择和设置它能搜索到的东西。按下 Tab 键会对其进行选择相应的操作。

call.png

搜索网络

使用 LaunchBar 可以快速搜索网络内容。它安装时自带了许多搜索模板,可以在 LaunchBar Index 中左侧分类列表的「Web」下的「Search Template」中查看。常见的搜索引擎都在其中,Google 自不必说,按下 GG,就可以看到 Google 搜索。

search_google.png

按下回车,在里面输入关键词,回车即可在浏览器中打开结果页面。

当然像其它启动器一样,LaunchBar 也可以自定义搜索规则,比如新建一个少数派上的文章的搜索模板。

首先,要找到需要建立的搜索模板的网址模板。打开少数派的主页 sspai.com, 在搜索栏中输入一个任意的关键词,例如输入「MacBook」,按回车打开搜索结果页面。可以看到地址栏里的内容变成了:
https://sspai.com/search/?q=MacBook」,
这个地址结尾部分出现了刚才输入的搜索关键词。LaunchBar 中星号「*」代表搜索关键词,把这个关键词替换为「*」,就得到了少数派搜索的网址模板:
https://sspai.com/search/?q=*」。

激活 LaunchBar,按下 ⌥ ⌘ I 键,打开 LaunchBar Index。在 LaunchBar Index 中左边的 Web 列表中选择「Search Templates (UTF-8) 」,在其中新添加一个项目,名字叫「搜索少数派」,在后面的网址模板中输入刚刚得到的网址模板「https://sspai.com/search/?q=*」,其中 * 号代表关键词。这样就可以在 LaunchBar 里搜索少数派文章了。如果不存在此「Search Template (UTF-8) 」一项,可以点击 LaunchBar Index 窗口右下角的「+」图标,选择「Search Templates」下的「Factory Search Templates (UTF-8)」,建立此项目,再进行上面的操作。

但是在 LaunchBar 中不能输入中文,我们怎么调用到这个新建的“搜索少数派”的搜索规则呢?我们需要用到 LaunchBar 的「分配简称」功能来解决这个问题。

激活 LaunchBar,按下「SEATEM」键,找到刚刚找到上面建立的「搜索少数派」搜索模板所在的列表项「Search Templates (UTF-8) 」,按下向右键头,即进入了此列表项,按向下键头找到「搜索少数派」:

search_template.png

在「搜索少数派」上单击,在弹出的菜单中选择「Assign Abbreviation」:

assignAbbr.png

或者按下其快捷键 ⌥ ⌘ A,就可以看到下面的输入栏:

assign.png

在其中输入「SSP」并按下回车,就把「SSP」分配给了「少数派搜索」条目,这样直接输入「SSP」就可以看到它了。

ssp.png

按回车,输入你想要搜索的关键词,就可以打开搜索结果页面了。

(关于其它方面对于中文的需求,将在本文倒数第二个段落「对中文的支持」讨论。)

下面提供几个常用的搜索网址模板,可以直接复制,用来新建对应的搜索模板:
京东:「http://search.jd.com/Search?keyword=*&enc=utf-8&wq=*&pvid=xygp9fsi.y3trtw」;
淘宝:「https://s.taobao.com/search?q=*」
亚马逊中国:「https://www.amazon.cn/s/ref=nb_sb_noss?__mk_zh_CN=亚马逊网站&url=search-alias%3Daps&field-keywords=* 」
微博:「http://s.weibo.com/weibo/*」;
百毒:「https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=*」;
Google 地图:「https://maps.google.com/maps?q=*」;
Google 翻译:「https://translate.google.de/#auto/zh-CN/*」;

用这个方法,我们可以添加学校的搜课规则、图书馆的搜书规则、快递的查单规则,尽情自由发挥。

输入文字

之前看到 Matrix 上一位同学分享了输入特殊符号的技巧,通过 LaunchBar 同样也可以更快速更轻松地实现特殊符号及其它一切文本的快速输入。

emoji 

每一个 emoji 表情在 LaunchBar 中都有一个直观的英文描述,你变成了尴尬黑月亮 🌚?直接输入 MOON 并按回车:

Bildschirmfoto 2016-11-25 um 04.29.25.png

你笑哭了 😂?直接输入「TEAR」并按回车:

Bildschirmfoto 2016-11-25 um 04.30.37.png

忽然间伸出了中指 🖕?直接输入「FINGER」并按回车,再按下向右方向键还可以选择肤色:

Bildschirmfoto 2016-11-25 um 04.32.24.png

特殊符号

同时也可以在 LaunchBar Index 中的「Snippets」列表里加入你想要输入的特殊符号。

Snippets.png

例如,在 LaunchBar 中加入一个「⌘」符号,与键盘上名字对应,把它命名为「CMD」。

首先激活 LaunchBar,输入「SNIP」,选择「Add Snippet」:

AddSnip.png

输入「CMD」,回车。打开 LaunchBar Index,在「Snippets」列表中可以找到新创建的这个「CMD」条目。在上面双指点击,选择「Open with TextEdit」。

CMD.png

LaunchBar 中的每一条 Snippet 都是以文本文件的形式,默认保存在路径「/Users/账户名/Library/Application Support/LaunchBar/Snippets」下,可以在 LaunchBar Index 右上角的 「Options」中添加其它路径。

打开「CMD」这个文本文档后,把其内容替换为「⌘」,保存。

之后,再在需要输入「⌘」符号的时候,激活 LaunchBar,输入「CMD」,再按回车键,就可以输入了。

用这个方法,可以在 Snippets 中加入常用的希腊字符及其它的常用特殊符号,以实现它们的快速输入,再也不需要在特殊字符表中找了。

同时也可以在 LaunchBar Index 中的「Snippets」列表中把这些特殊字符的名字修改成更直观的名字,也可以通过上面提到的分配简称字符(⌥ ⌘ A),以方便记忆。

appleicon.png

摘录段落

用如上方法也可以把一段文字直接添加到摘录里,其中用「<|>」表示最终光标所在位置。如我添加了一个名为 include (C++) 的摘录,其内容为:Bildschirmfoto 2016-11-25 um 04.44.00.png

当调用它时,输出的结果为:

Bildschirmfoto 2016-11-25 um 04.45.51.png

光标出现在第 7 行。

即时发送(「Instant Send」)

LaunchBar 的一个主要功能是「即时发送」,借此可以把选中的文字和文件发送给 LaunchBar,让其对收到的文字和文件进行各种操作。如前所述,需要先在配置里设置即时发送的快捷键,本文中将其设为双击 fn 键。

之前的《处理文件》章节中, 介绍了一些对搜索得到的文件进行处理的方法,这些操作都可以与即时发送功能结合在一起使用。

例如在 Finder 中选中一个或多个文件,双击 fn 键,就可以把此文件发送给 LaunchBar。接着可以移动复制等动作。

即时发送的功能还可以完成许许多多的工作,你可以直接把选中的网址发送到特定的浏览器里,把选中的生词发到词典里,把选中的图片发到 Skitch,等等。

toChrome.png

复杂的动作在下面一节中介绍。

调用工作流/脚本

用 LaunchBar 调用脚本和工作流,可以定制更多满足个人需求的功能。运用 Automator 建立的工作流可以通过 LaunchBar 调用。在 LauchBar 中输入「ACTIONEDITOR」可以打开 Action Editor,可以在这里管理 LaunchBar 的脚本动作。

下面举几个简单的例子。

把图片转换为 PDF 文件(调用工作流)

我经常需要把图片转换成 PDF 文件,运用 Automator 制作好相应的工作流如下:

image2pdf.png

三个动作分别为:把文件转换成 PDF 文件保存桌面上、打开新生成的 PDF 文件、弹出转换成功的信息。Automator 不是本文的主要内容,故不详细介绍,如有疑问请参考有关 Automator 的资料。

将其命名为「Convert Image to PDF」之后保存,就可以直接用 LaunchBar 执行这个新动作。

在 LaunchBar 中搜索选定需要转换的图片文件,或在 Finder 中选定图片文件并点两下 fn 键进行即时发送,把文件发送给 LaunchBar,输入「IMAGEPDF」,就可以调用这个工作流。

convertimage.png

这样就可以在桌面上生成对应的 PDF 文件了。

朗读文字(调用脚本)

有时收到一封邮件、或看到一篇文章,可以通过 LaunchBar 建立一个脚本朗读出来。

首先,在 LaunchBar 中输入「ACTIONEDITOR」,打开 Action Editor。这里可以看到安装 LaunchBar 自带的脚本动作和用户下载或自己建立的脚本动作。 actionEditor.png

点击左下角的「+」图标,选择「New Action」,建立新的脚本动作,命名为「Read the Text in Chinese」,把其中的各选项依照上图选择好。

点击右上角的「Edit」按钮,编辑对应的 AppleScript 脚本文件,把如下代码复制粘贴到文件中并保存。

on handle_string(_content)
	say _content using "Ting-Ting"
	display notification "已经朗读完文本的所有内容。" with title "朗读完毕"
end handle_string

这里把即时发送到 LaunchBar 的文字用 say 指令朗读出来。这里用到了中文朗读包「Ting-Ting」,如果电脑上没有安装此朗读包,需要另行安装:打开设置中的「Accessibility」中的「VoiceOver」,选择右下角的「Open VoiceOver Utility…」。Accessibility.png

在打开的「VoiceOver Utility」窗口中选择「Speech」。Voice.png

在右侧的「Voice」下选择「Customize…」,在弹出的窗口选择「Ting-Ting」,再点击确定,即可开始下载此郎读包。

这样就完成了此「Read the Text in Chinese」脚本动作。

选定要朗读的文字,按两下 fn 键,把文字即时发送到 LaunchBar,再按下 Tab 键,表示要对文字进行进一步操作。接着输入「READ」,就可以看到刚刚建立的这个朗读文字的动作,点下回车,电脑即开始朗读选定的文字了。朗读完后,会在右上角弹出朗读完成的通知:Bildschirmfoto_2016-11-25_um_05_16_34.png

LaunchBar 支持以下多种脚本语言:AppleScript、JavaScript、Python、Ruby、Shell Script、Swift。通过自己编写脚本即可让 LaunchBar 实现各种各样用户自己所需要的功能。

在此附上上面的动作脚本,可直接下载打开,即可在 LaunchBar 中安装并直接使用。

汇率换算

除了安装时附带的功能,LauchBar 官网上还提供一些功能可供下载,我常用到汇率换算这个动作。我给它分配了一个简称:「EXCHANGE」。exchange.png

找到它后按回车,输入「7000 cny to eur」:Bildschirmfoto 2016-11-25 um 04.55.56.png

再按下回车,就可以得到当前换算后的金额:Bildschirmfoto 2016-11-25 um 04.57.43.png

在操作过程中列表中会提示你可能想要查询的货币简称,非常直观方便。

对中文的支持

LaunchBar 限制中文的输入,一定程度上来说并不是一个缺点。设想一下输入一个中文关键词,远不及输入两三个分配简称的字母来得快。当然对于纯中文文件名的文件 LaunchBar 自然无法搜索出来。解决方案有二:给常用的重要文件加上颜色 tag,或给其分配简称字符。

除了中文文件名外,对中文的联系人名字 LaunchBar 也无法搜索。

同时手机系统语言为外文的同学也会遇到的一个问题是,手机里的中文联系人不是按字母排序的,而是全堆在列表最后的「#」分类里。

我在这里给大家推荐一个方法:在手机上新建联系人时,选择联系人编辑页面最下面的「add field」:addField.png

添加两个新的分格:「Phonetic first name」和「Phonetic last name」:phonetic.PNG

这样我们在填入联系人姓名时,新添加的「发音」这两个空格会自动填写。这样我们保存起来的联系人就排列在相应的开头字母分类里了。zhangsan.PNG

而这样同步到电脑上的联系人也同样可以用 LaunchBar 搜出来了:findZhangsan.png

再按下 Tab 键,就可以给他打电话、发短信、发邮件了。

总结

LaunchBar 的功能远不止这些,只要愿意探索,总能发现它简单界面下的新功能。我把这个软件推荐给大家,因为它工作起来干净立落又爽心悦目,能够简化生活工作中的许多任务,节省大量宝贵或不宝贵的时间。有了它,你一定会更加热爱你的 Mac。

本文将不定期更新修正。如对于本文有任何修改建议或想法,请在评论区发表你的观点,非常感谢!

(本文首发于少数派 Matrix,未经允许严禁转载。)