【程序员的实用工具推荐】 Mac 效率神器 Alfred
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 使用之旅吧。
推荐阅读
【程序员的实用工具推荐】 Mac 效率神器 Alfred的更多相关文章
- 快速上手Mac效率神器Alfred以及Alfred常用操作
前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...
- 快速精通Mac效率神器Alfred以及常用workflow
概述 Alfred基础在上一篇 大纲 名称 作用 类别 出处 修改日期 Github 更便捷地使用Github 开发编程 Github 2017-01-28 Github Search Github搜 ...
- java 书籍推荐 JavaEE程序员必读图书大推荐
java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...
- Java程序员拥有这些工具,还怕干不出好活
老话说,工欲善其事,必先利其器. 那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗? 近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐? 索性,就静下来,好好梳理一下,从事 ...
- 实用工具推荐(Live Writer)(2015年05月26日)
1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...
- 你绝不能错过的效率神器 —— Alfred
文章首发于[博客园-陈树义],点击跳转到原文<你绝不能错过的效率神器 -- Alfred> Alfred 是 Mac 系统上一款专注于效率提升的著名应用,它能帮你快速打开网页.快速进行自定 ...
- Mac开发者必备实用工具推荐
最近一个师兄给我推荐了一些Mac上的实用工具,用起来非常顺手,能提高不少开发效率.于是就想着把自己之前用过的其他工具也整理一下,一块推荐给大家,希望能对大家有帮助. Alfred 目前Mac下最好用的 ...
- 解析:为什么程序员应该有一台Mac个人电脑?
对于开发来讲,使用Mac电脑的好处,下面简单列举几个: 首先,macOS很安全和稳定,Mac 系统的底层是最原始的unix操作系统,很多大型的银行和军工企业都是这个操作系统,安全性很高,基本不需要安装 ...
- JavaEE程序员必读图书大推荐
下面是我根据多年的阅读和实践经验,给您推荐的一些图书: 第一部分: Java语言篇 1 <Java编程规范> 星级: 适合对象:初级,中级 介绍:作者James Gosling(Java之 ...
随机推荐
- 微软的Serialize和Newtonsoft的SerializeObject比较
微软的序列化反序列化组件出来已有好几年了,刚出来的时候各种吐槽.最近在优化代码,比较了一下微软的Serialize和Newtonsoft的SerializeObject,感觉大部分场景下可以用微软的序 ...
- 新手学习Java,如何快速从入门到精通!
首先我要给你说的是,任何一个东西从零到精通,都是需要一个过程的,就相当于我们在小学的时候学乘法口诀表,背文言文一样,都是需要我们慢慢的去渡过这个阶段,我们才能慢慢的掌握,其次,毕竟这是一门编程语言,你 ...
- 微信小程序云开发框架
概述 一直做后端服务器开发,最近看了一篇文章介绍小程序的云开发模式,觉得挺有意思,就尝试了一下,由本文做个记录. 因为不是专业的小程序开发人员,也没有做过网页开发,所以论述中出现错误难以避免,请多谅解 ...
- 将Cesium ion上的3D Tiles和Bing imagery应用到osgEarth
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Pelican Mapping 激动的宣布支持加载Cesium ...
- 使用EdgyGeo Cesium工具查询下载数据集
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ EdgyGeo, Inc. 带来了一件非常棒的工作支撑架构.工程 ...
- 安卓开发常见Bug-项目未升级到Androidx
当项目未升级到androidx时,会出现某些项目文件资源不匹配的问题,建议在建立项目后就将项目升级到androidx 点击升级到androidx Migrate迁移然后点击左下角Dorefactor
- Photoshop如何快速扣取图标
由于图标往往与背景色区别很大,因此首先使用魔棒工具快速选择出图标 有时候选择出来是图标,有时候是背景色 可以通过选择反向来调节(右键即可) ctrl + J 提取出选择的区域 这时进行等分裁剪即可 点 ...
- 类加载器(JVM)
一.JVM概述 JVM是java是二进制字节码的运行环境 特点: 一次编译,到处运行(跨平台) 自动内存管理 自动垃圾回收功能 常见的JVM Sun Classic VM:世界上第一款商用的java虚 ...
- 计算机电子书 2017 BiliDrive 备份
下载方式 根据你的操作系统下载不同的 BiliDrive 二进制. 执行: bilidrive download <link> 链接 文档 链接 斯坦福 cs224d 深度学习与自然语言处 ...
- nodejs 文件上传服务端实现
前段时间在做个人项目的时候,用到了nodejs服务端上传文件,现在回头把这个小结一下,作为记录. 本人上传文件时是基于express的multiparty,当然也可以使用connect-multipa ...