Alfred 是一款功能非常强大,能有效提升 Mac 电脑使用效率的神器。可以说有了 Alfred 你就基本上可以脱离鼠标实现各种操作。相比 Mac 自带的聚焦搜索,完全可以称得上拥有碾压性的优势。

下图是 Alfred 图标, 官网为:https://www.alfredapp.com/

在介绍它的使用前,我们先来了解一下它的基本功能。

基本功能介绍

首先使用快捷键 Alt + 空格 打开 Alfred 操作界面。

Alfred 的常用基础功能为查询文档、指定网站搜索、剪切板历史、集成 iTerm2、计算机字典翻译、集成 1password、系统功能、放大显示内容等等 接下来挑选其中几个为大家做简单展示。

查询文档

可以通过以下四种快捷方式进行文档查询操作:\

  • open: 打开文件
  • find: 打开文档目录
  • in: 在文件中搜索
  • tags: 指定文件标签

下图是 find 命令的使用示例。

指定网站进行搜索

Alfred 可以指定搜索引擎关键词,简化搜索方式。

以自定义百度为搜索引擎为例,如果我们要让 bd 作为百度搜索引擎的关键词,那我们可以进行如下配置:

完成配置后就可以使用 bd 关键字指定百度作为搜索引擎了。

剪贴板历史

我们可以设置文件保存的时长、激活剪切板的快捷键、或者直接使用 clipboard 激活、使用 clear 清除剪切板。

集成 iTerm2

作为 Mac 最好用的命令行工具 iTerm2,Alfred 也是拥有的。

我们可以对它设置自定义命令,例如:

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 true
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

输入 ls -al 回车会将命令自动在 iTerm2 中执行。

使用工作流程

了解基本功能后,重点还是回归到 Alfred 的工作流程,官方提供了接口文档方便用户进行调用。\

接口文档:https://www.deanishe.net/alfred-workflow/api/index.html

上图是 Alfred 的工作流程示意图,我们通过使用 code 命令根据项目目录选择 pycharm 或 vscode 打开项目文件夹,这一例子来看一下 Alfred 的工作流程。

首先新增一个工作流,指定 Name 为 code。

然后设置项目目录公共变量。

右键新增一个 script filter 脚本。

如果需要新增脚本文件,可以右键点击 Open in Finder 打开该工作流所在目录,从 GitHub 下载最新版本的 Alfred-Workflow(https://github.com/deanishe/alfred-workflow/releases/latest),解压并将其中的 workflow 目录复制到打开的这个工作流目录中。

新建 index.py 文件,代码如下:

import sys
import os
from os import listdir
from os.path import isdir, join, expanduser from workflow import Workflow3, web, ICON_WEB # 获取文件列表
def getFileList():
args_list = wf.args
result = []
for path in args_list[1:]:
# path = wf.args[1]
log.debug('path: ' + path)
path = expanduser(path)
result.extend([{"file": f, "path": path} for f in listdir(path) if isdir(join(path, f))])
return result def main(wf):
# 获取搜索参数
searchKey = wf.args[0]
log.debug('searchKey: ' + searchKey)
# 文件列表缓存 3s
fileList = wf.cached_data('projects', getFileList, max_age=3)
# 根据 query 过滤目录
for item in fileList:
if (searchKey and (searchKey in item.get('file'))):
title = item.get('file')
wf.add_item(title=title, subtitle=item.get('path'), arg=os.path.join(item.get('path'), title), valid=True) # 把应该展示的内容发送给 Alfred
wf.send_feedback() if __name__ == '__main__':
wf = Workflow3()
log = wf.logger
sys.exit(wf.run(main))

回到 Alfred 工作流,添加传递参数变量。

新增列表选择,添加用户选择列表。

添加条件判断,辨别用户选择的软件是哪一个。

然后新增两个分支 Open File 操作,并使用相应程序打开文件。

最后在完成全部设置后打开 Alfred 弹框,输入 code + 项目目录,开始你的 Alfred 使用之旅吧。

推荐阅读

## Golang 常见设计模式之选项模式

## 《逆局》最终 boss 隐藏自己的方式是?

【程序员的实用工具推荐】 Mac 效率神器 Alfred的更多相关文章

  1. 快速上手Mac效率神器Alfred以及Alfred常用操作

    前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...

  2. 快速精通Mac效率神器Alfred以及常用workflow

    概述 Alfred基础在上一篇 大纲 名称 作用 类别 出处 修改日期 Github 更便捷地使用Github 开发编程 Github 2017-01-28 Github Search Github搜 ...

  3. java 书籍推荐 JavaEE程序员必读图书大推荐

    java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...

  4. Java程序员拥有这些工具,还怕干不出好活

    老话说,工欲善其事,必先利其器. 那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗? 近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐? 索性,就静下来,好好梳理一下,从事 ...

  5. 实用工具推荐(Live Writer)(2015年05月26日)

    1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...

  6. 你绝不能错过的效率神器 —— Alfred

    文章首发于[博客园-陈树义],点击跳转到原文<你绝不能错过的效率神器 -- Alfred> Alfred 是 Mac 系统上一款专注于效率提升的著名应用,它能帮你快速打开网页.快速进行自定 ...

  7. Mac开发者必备实用工具推荐

    最近一个师兄给我推荐了一些Mac上的实用工具,用起来非常顺手,能提高不少开发效率.于是就想着把自己之前用过的其他工具也整理一下,一块推荐给大家,希望能对大家有帮助. Alfred 目前Mac下最好用的 ...

  8. 解析:为什么程序员应该有一台Mac个人电脑?

    对于开发来讲,使用Mac电脑的好处,下面简单列举几个: 首先,macOS很安全和稳定,Mac 系统的底层是最原始的unix操作系统,很多大型的银行和军工企业都是这个操作系统,安全性很高,基本不需要安装 ...

  9. JavaEE程序员必读图书大推荐

    下面是我根据多年的阅读和实践经验,给您推荐的一些图书: 第一部分: Java语言篇 1 <Java编程规范> 星级: 适合对象:初级,中级 介绍:作者James Gosling(Java之 ...

随机推荐

  1. Vulnhub系列:Os-hackNos

    0x01环境搭建 靶机链接: https://www.vulnhub.com/entry/hacknos-os-hacknos,401/发布日期: 2019.11.27靶机描述: 描述 难度:容易中级 ...

  2. 还在用visio?这款画图工具才是真的绝!

    最近有读者私信我,问我推文的配图是用什么工具画的,很好看,也想学习一下.今天就给大家介绍一下这款画图工具--Draw.io 概述 draw.io是一款免费的网页版画图工具(也有桌面版),支持流程图.U ...

  3. Keil MDK STM32系列(七) STM32F4基于HAL的PWM和定时器

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  4. 手把手教你分析解决MySQL死锁问题

    在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生. 一.准备好相关数据和环境 当前自己的数据版本是8.0.22 mys ...

  5. MacBookPro2021 M1-MAX电脑问题锦集

    MacBook2021 M1-MAXPro电脑问题锦集 问题1: 开启硬盘加密,开机闪屏 问题详述: 在系统偏好设置中,打开安全与隐私,在弹出窗口中切换到第二个页签(文件保险箱),启用文件保险箱功能, ...

  6. 不难懂————Promise对象 + 详解

    1.Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了P ...

  7. 五种IO模型(Model)

    目录 一:IO模型简介 1.五种IO Model: 二:五种IO模型简介 1.阻塞IO 2.非阻塞IO 3.多路复用IO 4.信号驱动IO模型 5.异步IO 三:5种I/O模型的比较 一:IO模型简介 ...

  8. 如何在pyqt中实现丝滑滚动字幕

    滚动字幕的视觉效果 网上有很多博客介绍了滚动字幕的实现方法,懂得都懂,大部是 Ctrl C + Ctrl V,效果还很差,最后还是得靠自己.主要思路就是通过定时器定时刷新+绘制两段完整的字符串来达到 ...

  9. 利用 Python 进行数据分析(Python 数据分析)· 第 2 版

    译者:SeanCheney 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 机器学习交流群 629470233 ApacheCN 学习资源 Sklearn 与 ...

  10. 「IOI2009」旅行商

    题目传送门 首先,看到这道题感觉就像dp(然鹅没什么用). 一个美好的设想 假如没有两个展销会在同一天开展:前途光明 暴力dp,复杂度o(\(n^2\)). 没有同一天的展销会 暴力dp慢,是因为本质 ...