Alfred workflow小白入门

Posted by Kylen on 2019-06-05

Alfred是什么

Alfred是一款提效神器,可通过热键、关键字、文本扩展等快速搜索Mac和网络;并且可以自定义操作。

Alfred的基础能力差不多是SpotLight(聚焦搜索)的一个加强版,可以快速搜索和使用Mac上的资源。对应到实际的操作包括:应用搜索、文件搜索、文本内容搜索、通讯录搜索、使用计算器、使用词典等等等

直接听起来好像没什么了不起,但只要使用过,就会感受到Alfred带来的效率提升。以下我只列举一些我用到的

  • 应用搜索
    快速打开使用应用
    alfred-001.png

  • 文件或文件夹搜索
    直接通过文件名称查找文件或者文件夹
    alfred-002.png

  • 文本内容搜索
    使用in命令 + 待搜索的文本
    某一天突然想找一个很久之前文件,不记得放在哪儿了,就模糊的记得文件里有个字段promisee,于是
    alfred-003.png

  • 直接使用计算器(基本不用)
    我还是喜欢用手机或者直接打开计算器.app直接点
    alfred-004.png

Alfred的基础能力对比Spotlight对我而言没有什么特别的,我使用比较多的只有上面提到的一些功能。不过Alfred强大之处在于自定义流程操作,也就是下面的workflow。

workflow

workflow是什么?字面上看工作流,很多行业内都有工作流的概念,workflow也不是什么难以理解的东西。说个笑话,把大象放进冰箱分为几步?第一步:打开冰箱门;第二步:把大象放进冰箱;第三步:关上冰箱门。workflow就是类似这样一个把大象放进冰箱的过程。对于大多数使用者来说,并不会真的自己去开发一个自己的workflow,多数情况会直接使用别人已经开发好的workflow;就像我们不用关心怎么把大象放进冰箱,我们只需要按照流程走,达到我们想要的目的就好了。

我们可以把一件我们要完成的work分为几步,比如:使用google搜索Alfred。那正常的操作流程应该是:1.打开chrome浏览器,找到google输入框;2.在输入框内输入Alfred;3.回车搜索。可以看出,其实只要我们有一个目标,若是一个简单易达到的目标,我们很容易确定达到这个目标的每一个步骤。这一个个步骤就组成我们的workflow。而这种行为上的workflow可以映射成Alfred的workflow。

所以workflow白话就是设定好步骤、流程一步步达到我们的目标。

有workflow的地方一定就有流程图,流程图可以说是workflow最形象化的表现,看举个具体的例子
alfred-005.png

这是一个查询本机局域网IP和公网IP的workflow,它只有两步,第一步:输入关键字IP执行script脚本,具体脚本的编写这里不介绍,这段脚本获取了本机局域网IP和公网IP然后输出到Alfred界面;第二步当用户点击展示的选项后的时候会把Ip复制到剪切板。可以看出此workflow核心功能的实现在于第一个脚本单元,简单理解其内容就是API + code,这里不做介绍。

在了解了workflow的概念之后,多数人的期望提供优质的Alfred workflow的collection;少数人可能会有开发自己特有的workflow的想法,这就需要了解Alfred具体提供的能力,这里提供一个链接:Alfred神器使用手册,可能会对你有帮助。以下的内容只针对大多数人

workflow资源获取和使用

第三方开发的Alfred workflow在Githubhttp://alfredworkflow.com/这两个网站上找就足够了,在GitHub上可以搜索关键字alfred workflow
alfred-006.png
https://github.com/zenorocha/alfred-workflows就是一个不错的Alfred workflow collection

后者是一个专门收集Alfred workflow的网站

无论通过什么样的途径获取到Alfred workflow,能够被Alfred解析添加的workflow的后缀都是.alfredworkflow
alfred-007.png

类似这种文件直接双击可确定可添加到Alfred。添加之后可在Alfred Perferences Workflows界面查看添加的workflow
alfred-008.png
已添加的workflow可导出,有编程基础的可查看代码逻辑。

workflow推荐

  • Fixum
    检测其他 workflow 是否有可更新版本,以及处理兼容性问题,只是其他 workflow 的 “医生”
    alfred-009.png

  • CodeVar
    这个超赞,生成可用的代码变量,主要用来定义变量名称,再也不用拼音啦~对于英文能力有限,取名捉鸡的同学是个不错的选择
    alfred-010.png

  • ip 查询
    显示本机局域网和公网IP
    需要的时候就会觉得这个功能超赞
    alfred-012.png

  • http status code
    快速查询Http状态码含义
    alfred-011.png

  • can i use

    Alfred App Workflow for caniuse.com
    alfred-013.png

  • colors颜色转换
    颜色格式转换
    我可能用的不多
    alfred-014.png

  • emoji
    搜索Basecamp、github、gitlab上使用的emoji
    对我用处不大
    alfred-015.png

  • encode
    编/解码字符串
    对jser来说可以快速查询一些特殊编码倒是个不错的功能
    alfred-016.png

  • Faker
    生成虚假数据,如姓名、电子邮件、信用卡号等。
    alfred-017.png

  • Github
    快速打开github仓库,需要登录
    alfred-018.png

  • process-killer
    快速找到进程并使用命令kill -9杀死它们
    多数能kill,使用sudo命令启动的程序杀不掉
    alfred-019.png

  • npm包管理器
    快速使用各种包管理器,触发器:apt-get,apm,bower,brew,chef,cocoa,composer,docker,gems,gradle,grunt,gulp,hex,maven,npm,pear,puppet,pypi,raspbian,rpm,yo
    我常用的:brew,npm
    超好用,不用打开网站再搜索(网址还常常记不住)
    alfred-020.png

  • StackOverflow 问题搜索
    直接在stackoverflow上搜索问题
    超好用
    alfred-021.png

Aflred为什么能提效?

稍加思考,大家应该都能想到,界面化的流程操作几乎对所有人都是友好的。再想一想刚刚使用google搜索Alfred的例子,对懂的人而言,我只是需要使用google搜索引擎输入搜索关键字,在浏览器中打开我的目的就达到了。在这个流程中,界面化的操作要求我们首先要寻找浏览器、打开浏览器、找到google输入框,然后才能使用google搜索引擎输入关键字搜索。这个流程其实效率并不高,因为我们看似熟练的操作我们的大脑需要接收很多不必要的信息。这倒不是界面化的操作不好,恰恰相反,界面化的操作是个天才的idea,是它让很多我这种愚钝的人更容易进入计算机和互联网的世界。只是当我们进步了,有了一定的基础之后,我们可以选择一种更好、更快的方式。