Alfred是一款非常强大的神器,可以有效提高Mac电脑的效率。可以说有了Alfred,基本上不用鼠标就可以实现各种操作。与Mac自带的专注搜索相比,可以说是有着碾压性的优势。下图是Alfred的图标,官网是:https://www.alfredapp.com/在介绍它的使用之前,我们先了解一下它的基本功能。基本功能介绍首先使用快捷键Alt+空格打开Alfred操作界面。Alfred常用的基本功能有查询文档、指定网站搜索、剪贴板历史记录、集成iTerm2、计算机词典翻译、集成1password、系统功能、放大显示内容等,下面选几个简单演示一下。查询文档可以使用以下四个快捷键进行文档查询操作:\open:打开文件find:打开文档目录in:在文件中搜索标签:指定文件标签下图是使用示例查找命令。指定要搜索的网站Alfred可以指定搜索引擎关键字以简化搜索方法。以自定义百度为搜索引擎为例,如果我们想使用bd作为百度搜索引擎的关键字,那么我们可以进行如下配置:配置完成后,我们可以使用bd关键字指定百度为搜索引擎。剪贴板历史我们可以设置文件保存的时长,激活剪贴板的快捷键,或者直接使用剪贴板激活,使用clear清除剪贴板。集成iTerm2作为Mac最好的命令行工具,iTerm2也是Alfred旗下的。我们可以对其设置自定义命令,例如:在alfred_script(q)ifapplication"iTerm2"isrunningorapplication"iTerm"isrunningthenrunscript"onrun{q}tellapplication\"iTerm\"activatetryselectfirst错误时窗口将onlywindow设置为true使用默认配置文件创建窗口选择第一个窗口将onlywindow设置为trueend尝试告诉第一个窗口如果onlywindow为false然后使用默认配置文件创建选项卡end如果告诉当前会话写入文本qendtellendtellendrun"withparameters{q}elserunscript"onrun{q}tellapplication\"iTerm\"activatetryselectfirstwindowonerrorcreatewindowwithdefaultprofileselectfirstwindowendtrytellthefirstwindow告诉当前会话写入文本qendtellendtellendrun"withparameters{q}endifendalfred_script输入ls-al回车即可在iTerm2中自动执行该命令。使用工作流了解基本功能后,重点还是回到Alfred的工作流上。官方提供接口文档供用户调用。\接口文档:https://www.deanishe.net/alfr...上图是Alfred的工作流程示意图。我们使用code命令根据项目目录选择pycharm或者vscode打开项目文件夹。我们来看看这个例子Alfred的工作流程。首先,添加工作流并将名称指定为代码。然后设置项目目录公共变量。右键单击以添加脚本过滤器脚本。如果需要添加新的脚本文件,可以在Finder中右键打开,打开工作流所在目录,从GitHub(https://github.com/deanishe/a)下载最新版的Alfred-Workflow...),解压并把里面的工作流目录下的文件复制到打开的工作流目录下。新建一个index.py文件,代码如下:importsysimportosfromosimportlistdirfromos.pathimportisdir,join,expanduserfromworkflowimportWorkflow3,web,ICON_WEB#获取文件列表defgetFileList():args_list=wf.argsresult=[]forpathinargs_list[1:]:#path=wf.args[1]log.debug('path:'+path)path=expanduser(path)result.extend([{"file":f,"path":path}forfinlistdir(path)ifisdir(join(path,f))])returnresultdefmain(wf):#获取搜索参数searchKey=wf.args[0]log.debug('searchKey:'+searchKey)#文件列表缓存3sfileList=wf.cached_data('projects',getFileList,max_age=3)#根据对fileList中项目的查询过滤目录:if(searchKeyand(searchKeyinitem.get('文件'))):title=item.get('文件')wf.add_item(title=title,subtitle=item.get('path'),arg=os.path.join(item.get('path'),title),valid=True)#将应该显示的内容发送给Alfredwf.send_feedback()if__name__=='__main__':wf=Workflow3()log=wf.logger系统退出(wf.run(main))回到Alfred工作流,添加传递参数变量添加列表选择,添加用户选择列表。加入条件判断,识别用户选择的是哪个软件。然后添加两个分支打开文件操作,并使用相应的程序打开文件。最后,完成所有设置后,打开Alfred弹框,输入代码+项目目录,开始你的Alfred之旅。推荐阅读##Golang常用设计模式选项模式##《逆局》最终boss是怎么隐藏自己的?
