深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

mac 效率神器 Alfred

mac 下自带的Spotlight只能进行本地文件的搜索,速度超级慢,今天给大家推荐个提高工作效率的神器-Alfred。


Alfred 是一个功能超级强大的工具,他除了能够搜索本地文件、应用还能经过定制后搜索互联网上的内容,除此之外,workflow 为用户提供了可定制化的服务,用户可以自行编写插件来实现查询。

能干啥

说了这么多,让我们从一个常用的场景来感受下它的效率:

从前,我们要去谷歌搜索一个东西,我们需要:

1.打开浏览器
2.输入网址
3.在谷歌的搜索栏中输入内容,然后点击搜索

嗯,我们需要至少3步。那么有了 alfred,只需要,快捷键启动 alfred,然后输入你需要搜索的内容,回车就 ok 了。比如要搜索 Java 编程思想,我们 command + 空格调出 alfred 直接输入关键词,他默认可以去谷歌、亚马逊 维基百科搜索,当然你可以自行定制更多的搜索引擎。

然后回车,直接打开浏览器给出搜索结果

上面这个是浏览器搜索,那么比如在举一个例子,程序员经常要给变量、常量起名字,这个名字真的是太难想了,我们常见的命名方式有驼峰、下划线,用 workflow 自己写个插件直接输入汉字,就能给出变量名:

当然,这个得借助 workflow 来实现了

在举个例子,我要查询个域名是否备案,直接输入 域名即可查询

查询 ip 地址归属

搜索 github 上的项目

搜索浏览器的书签

计算器

哇,说了这么多,是不是感觉很多事情在一个框内就能完成

怎么编写 workflow

其实有很多现成的 workflow 文件,可以去网上搜,但是有时候我们自己的需求可能 一些插件不能满足我们的需求,那么我们可以自己动手写,怎么写呢?

1.首先,我们打开 alfred 的 Preferences –切换到 workflows

点击+号,新建一个空的 workflow

输入名称 描述等,比如我们要实现一个备案信息查询的功能

新建完成之后,如图所示

在右侧这个黑色的工作区,我们点击右键 新建一个脚本,选择 input –script Filter

如图所示

其中

  • keywrod 是我们要在搜索框中查询的前缀,比如我们要查询 awen.me 这个域名,我们就需要输入icp 然后在输入 awen.me 查询

我们使用 python 去编写这个备案查询的工具, 语言选 bash,然后选择 with input as {query} ,如图所示设置完之后,点击右下角的按钮,打开这个项目的目录,我们需要添加几个文件和目录,其中 info.plist 是自带的,其他都需要单独添加

编写 workflow 插件

这个目录的路径 在

cd ~/Library/Application Support/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.CF54DF51-50FA-44F8-BBD0-B818F30FDF8B

我们进入到这个目录,执行

pip install --target=. Alfred-Workflow\n

就得到workflow 这个目录了,这个目录下都是workflow 的 python 库,目前只能使用 python2.x 编写插件。当然其他语言也是支持的。比如 shell php ruby 等。

beian.py 这个文件就是我们上面定义的脚本,其内容如下

# -*-coding:utf-8-*-
# Auth: awen
# E-mail:hi@awen.me


from workflow import Workflow, ICON_WEB, web
import sys



def main(wf):
param = (wf.args[0] if len(wf.args) else '').strip()
domain = param
url = "https://sapi.k780.com?app=domain.beian&domain="+domain+"&appkey=xxxx&sign=xxxxxxx&format=json"
r = web.get(url)
r.raise_for_status()
r = r.json()
try:
if r['result']['icpno']:
icpno = r['result']['icpno']
wf.add_item(title=domain, subtitle=icpno)
wf.send_feedback()
else:
wf.add_item(title=domain, subtitle=u"没有查询到备案信息")
wf.send_feedback()
except:
wf.add_item(title=domain, subtitle=u"没有查询到备案信息")
wf.send_feedback()

if __name__ == '__main__':
wf = Workflow()
sys.exit(wf.run(main))


这样一个插件就编写好了。这些语法请参考 http://www.deanishe.net/alfred-workflow/

文章作者:阿文
文章链接: https://www.awen.me/post/1019.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2018-09-19 19:26 发布,已超过半年(2734天),请注意甄别内容是否已过期。

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
您的评论由 AI 智能审核,一般1分钟内会展示,若不展示请确认你的评论是否符合社区和法律规范
加载中...

选择联系方式

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️