0%

程序员的 Mac(01):效率神器 Alfred

这篇文章介绍 Mac 中的效率神器 Alfred,通过 Alfred 的统一入口,你可以在 Mac 中完成各项任务。对程序员而言,通过 Alfred 提供的各个快捷键或关键字,可以实现用键盘输入而非鼠标操作来完成各个流程,从而极大地提高工作效率。

通用设置

  • 将 Alfred 热键设置为 Command + space,并且勾选开机自启动

特性

默认结果

这里主要配置 Alfred 搜索的默认结果,即配置在 Alfred 主界面中搜索所返回的默认内容。

  • Applications:配置应用的相关搜索选项

    • 配置支持根据应用程序的首字符进行模糊匹配
    • 配置是否根据应用的关键词进行匹配,一般不勾选
  • Essentials:搜索系统偏好设置和联系人信息,都勾选

  • Extras:配置搜索的额外部分,一般选择如下内容:

    • 文件夹
    • 文档
    • 文本文件
    • 另外在 Advanced 中可以配置自定义文件类型
  • Unintelligent:搜索所有文件类型,不勾选

  • Search Scope:配置搜索域,包括应用程序目录和用户的主目录即可

  • Fallbacks:配置当没有找到结果时,显示可选的进一步操作,Alfred 自定义了几个 fallback,可以自行添加

文件搜索

通过 Alfred 的文件搜索功能,可以通过关键字快速搜索并打开文件。

  • QuickSearch:打开快速搜索功能,这样输入空格或 ' 后将直接开始文件搜索
  • Opening Files:使用关键字 open 直接打开所选择的文件
  • Revealing Files:使用关键字 find 打开文件所在的目录
  • Inside Files:使用关键字 in 根据文件内容搜索
  • File tags:使用关键字 tags 根据文件 tag 进行搜索
  • Don’t Show:对某些文件类型不进行搜索
  • Result Limit:显示搜索的结果数目

Alfred 的创建也提供文件系统导航功能:

  • 输入 / 代表文件系统的根目录
  • 输入 ~ 代表当前用户的主目录
  • Filting:勾选 Fuzzy matching 进行模糊匹配
  • 是否使用 leftright 键来进入上一级或下一级目录:默认没有勾选,默认方式为 Command + upComamand + down 的方式
  • 是否使用 enter 键来在 finder 中打开目录:默认 enter 键是进入下一级目录,总是可以使用 Command + o 来打开文件
  • 使用快捷键 Option + p 和关键字 prev 来打开最近浏览的目录(是从 Alfred 中浏览的)

Alfred 提供文件选择缓存功能,从而可以从多个文件夹中选中不同的文件,或者对多个文件执行相同的操作

  • Option + up:把文件加入列表
  • Option + down:把文件加入列表,同时光标移动到下一个文件
  • Option + left:删除列表最后一个文件
  • Option + right:对列表文件执行统一操作
  • Buffer Clearing:设置对列表中的文件完成操作后清空列表,或者 5分钟内没有使用列表也清空列表

Actions

  • Show Actions:在选中项上展示 actions 列表,这里选择默认的 right 键
  • Selection Hotkey:也可以配置一个热键来在选中项上展示 actions 列表,这里配置为 option + l
  • Action Ordering:勾选后将根据最近使用的动作进行排序,任何时候都可以输入 action 名称来过滤 action
  • File Actions:可以勾选有哪些默认的文件操作

如果选中项是某个应用,打开 actions 列表后,可以看到一个 Recent Documents,它可以列出该 app 最近的文件记录列表

网页搜索

Alfred 提供了很多默认的网页搜索,例如通过 google、wiki 等搜索引擎搜索网页。也可以通过其 Add Custom Search 自定义搜索。例如定义百度内搜:

  • Search URL:配置搜索的 URL,这里配置为 http://neisou.baidu.com/new/search?word={query},其中 query 即为需要搜索的字符串
  • Title:Alfred 搜索的提示字符串,这里配置为 Seach Neisou for '{query}'。Title 旁还可以上传一个 icon,这样能增强标识
  • Keyword:输入哪个关键字即可使用该搜索引擎,这里配置为 neisou
  • Validation:提供校验功能

另外 Copy URL for sharing 可以将该配置复制到 clipboard 并分享给其他人。其他人直接在 Alfred 搜索框中输入该配置即可将其添加到自己的搜索列表中。

Web 书签搜索

Alfred 也提供对 Web 浏览器中的书签进行搜索:

  • Sources:可以配置 Safari 或 Google Chrome
  • Show bookmarks:配置关键字 bmark 来在 Alfred 中进行书签搜索
  • Open Bookmarks:配置以哪种方式打开书签,这里选择 Mac 的默认浏览器

为了使 Alfred 能够搜索书签,最好在 安全性与隐私->隐私->完全磁盘访问权限 中勾选 Alfred

剪切板历史

通过该功能,可以通过 Alfred 访问系统的剪切板历史。

  • Clipboard History:可以配置普通文本、图片、文件的保留时间。
  • Viewer Hotkey:通过哪个快捷键可以调用出剪切板历史窗口,这里配置为 Option + h
  • Viewer Keyword:通过哪个关键字可以从 Alfred 主界面中进入剪切板历史窗口,这里配置为 history
  • Clear keyword:清理剪切板历史,这里使用关键字 clear
  • Snippets:在剪切板历史窗口中显示 Snippets,同时搜索剪切板历史也会搜索 snippets
  • Universal:忽略从苹果其他设备同步过来的剪切板内容
  • Merging:配置对剪切板历史的内容进行合并,这里默认不使用
  • Advanced:配置一些高级选项

Snippet

可以通过关键词或快捷键将某个字符片段插入到当前光标之后。

  • Viewkey:配置快捷键为 Option + s,但是还可以通过剪切板历史窗口进入 Snippet 窗口
  • Snippet Keyword:配置在 Alfred 搜索 snippet 的关键字,这里使用 snip
  • Matching:配置匹配规则,这里选用 Name or Keyword
  • Automatically expand snippets by keyword:可以在配置在系统的任何地方将 snip 关键字扩展为片段内容。这里默认不开启

Snipet 按照 collection 的方式组织,可以为 collection 设置 Affix,这样就可以通过 prefix + snippet keyword + suffix 引用某个 collection 中的某个 snippet。前提是开了自动替换功能。

每个 snippet 需要包含:

  • Name:名称
  • Keyword:关键字
  • Collections:所属的 collections
  • Type:snippet 的类型,有普通文本和富文本
  • Snippet:snippet 的内容

由于搜索时会根据 Name 或 Keyword 查找 snippet,我采用的 Snippet keyword 命名规则为 Collections 的前 2 个字符 + Snippet 的 name,这样能比较快速找到想要的 snippet。

Alfred 为 Snippet 提供替换占位符,例如 {time}{date}{clipboard},这样替换时会自动扩展为当前相应的内容。对于更强大的替换操作,建议使用 Workflow Snippet Trigger Object

计算器

可以直接在 Alfred 主窗口中进行数学计算,敲回车键后计算结果会自动保存到剪切板中。

字典

可以在 Alfred 中直接进行字典查找:

  • define a word:配置字典查找的关键字,这里使用默认的 define
  • spell a world:配置字典模糊拼写的关键字,这里使用默认的 spell

联系人

Alfred 中可以直接对通讯录进行查找,由于基本不会使用,不做说明。

Music

国内一般都使用某云音乐和某 Q 音乐,不会购买苹果的 Music 服务,所以一般也用不到。

1password

搜索并直接从 Alfred 中打开 1password 中的书签。

系统

允许直接从 Alfred 中控制系统,包含的功能有:

  • Screen Saver:显示待机屏幕,关键字 screensaver
  • Show Trash:显示 trash 中的内容,关键字 trash
  • Empty Trash:清理 trash 中的内容,关键字 emptytrash
  • Log Out:退出登录,关键字 logout
  • Sleep:睡眠模式,关键字 sleep
  • Sleep displays:关闭屏幕显示,关键字 sleepdisplays
  • Lock:锁屏,关键字 lock
  • Restart:重启,关键字 restart
  • Shut Down:关机,关键字 shutdown
  • Hide:隐藏程序,关键字 hide
  • Quit:退出程序,关键字 quit
  • Force Quit:强制退出程序,关键字 forcequit
  • Quit All:强制退出所有程序,关键字 quitall
  • Volume Up:增大音量,关键字 volup
  • Volume Down:减少音量,关键字 voldown
  • Toggle Mute:静音,mute

以上操作,如果是危险操作,可以勾选 Confirm 已进行确认。

终端

可以从 Alfred 中调用终端来执行命令,默认通过 > 来触发终端要执行的命令,默认打开的是 Mac 的自带终端软件,在 Application 选项中设置为 Custom,并添加如下 AppleScript 来启动 iterm2(每次启动一个新的 tab 来执行该命令):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
on alfred_script(q)
if application "iTerm2" is running or application "iTerm" is running then
run script "
on run {q}
tell application \"iTerm\"
activate
try
select first window
set onlywindow to false
on error
create window with default profile
select first window
set onlywindow to true
end try
tell the first window
if onlywindow is false then
create tab with default profile
end if
tell current session to write text q
end tell
end tell
end run
" with parameters {q}
else
run script "
on run {q}
tell application \"iTerm\"
activate
try
select first window
on error
create window with default profile
select first window
end try
tell the first window
tell current session to write text q
end tell
end tell
end run
" with parameters {q}
end if
end alfred_script

放大镜风格

可以对 Alfred 中的输入进行放大显示(使用快捷键 Command + L),个人感觉作用不大。

预览

在 Alfred 中可以对选中项进行预览,默认使用 shift 键或 Command + y 进行预览。同时也可以配置对指定的文件类型或文件路径不提供预览操作。

Workflow

通过 Workflow,可以定制自己的工作流程。上面的一些功能,其实可以立即为 Alfred 自带的工作流,而通过 Workflow,可以自己编写工作流程,或者也可以下载第三方的工作流程。

实现 Workflow 有 4 个基本的对象:trigger、keyword、action、output,通过对这些基本对象进行连接可以实现各种高级的功能。配置一个 Workflow,大致分为三栏:

  • trigger 和 keyword 都会触发后续的行为,所以归类为原因类
  • action 负责处理需求,归类为过程类
  • output 负责把 action 的结果以一定的形式传递给用户,是结果类

其他功能

  • Appearance:通过 Appearance 可以配置 Alfred 的界面
  • Remote:通过 Remote 可以使用移动版 Alfred 来控制桌面端
  • Advanced:其他一些高级功能配置
  • Powerpack:Alfred 的很多功能都要开通 powerpack 才能使用
  • Usage:统计 Alfred 的使用情况
  • Help:Alfred 的帮助页面,在这里也可以搜索 Alfred 本身的配置项。也可以在 Alfred 的主界面中通过 ?关键字 来搜索 Alfred的主界面配置

总结

另外任何时候都可以通过 Command + p(选择上一项)和 Command + n(选择下一项)来在 Alfred 的结果列表中进行选择。

Reference