热搜
您的位置:首页 >> 科技

Keyboard Maestro 入门指南

2017年06月23日 栏目:科技

想实现某个结果都有1定的流程,很多时候这些流程里的某些步骤是重复的。重复就会有两个弊端:第1是浪费时间,试想如果你能把某个经常使撇开了所有会
广州礼仪庆典公司想实现某个结果都有1定的流程,很多时候这些流程里的某些步骤是重复的。重复就会有两个弊端:第1是浪费时间,试想如果你能把某个经常使撇开了所有会发生的危险用的流程缩短了几步,那末每次用这个流自轻自贱程你都省了1点儿时间,久长积累起来你能节省的时间就很可观了;第2个弊端是增加干扰,从锁屏就可以看到的通知开始,智能装备里1切元素都是为了吸引你的注意力,步骤越多你遭到的干扰就越多被打断的可能就越高,很多时候你想到1件事需要用手机完成,但是你拿出手机划了1会就忘了你当初为何要拿出手机了。 这是之于智能手机,之于计算机同理。对大部份厌倦了低效、繁琐、重复操作的 Mac 用户,Keyboard Maestro和BetterTouchTool、Alfred都同列于必须尝试的软件,他乃至是很多 PC 用户切换有人物的投影更令人肃然起敬的是到 Mac 的源动力。Keyboard Maestro 能将键盘的功能发挥到,同时还能代替很多软件,能够限制他用例的,只有你的想象力。 目录导航甚么是 Keyboard Maestro初探 Keyboard Maestro如何像 Maestro 1样行事Keyboard Maestro 工具库触发器库Action 库通过「录制」制作 Macro几个用例简单动作进阶动作1些 Tips 甚么是 Keyboard Maestro   Keyboard Maestrois the leading software for Mac OS X automation. It will increase business productivity by using macros(or short cuts) with simple keystrokes. 这是 官网上的介绍,简单来讲,Keyboard Maestro 是通过1系列条件来触发1个个 Macro 藉此实现操作自动化的软件。 至于甚么是 Marco,维基百科的解释是: 宏,是1种批量处理的称谓。 计算机科学里的宏是1种抽象,它根据1系列预定义的规则替换1定的文本模式。绝大多数情况下,「宏」这个词的使用暗示着将小命令或动作转化为1系列指令。 「宏」这个中文翻译其实其实不能非常好的表明 Macro 的英文意思,所以在下文我会直接使用 Macro 这个词。 Macro 的触发条件可以是:按下的键盘按键、连接到了某个特定 SSID Wi-Fi、某个 App 被激活到了前台、剪贴板内容产生了某种变化…… 而 Macro 可以履行的动作就更多了:控制阅读器、控制鼠标移动或点击、控制窗口大小、履行1段 AppleScript 脚本、进入特定 Finder 目录…… 初探 Keyboard Maestro  Keyboard Maestro 程序体分为两部份,1部份是常驻 Menu Bar 的Keyboard Maestro Engine1部份是运行时会在 Dock 上显示的Keyboard Maestro Editor编辑器。其中,Keyboard Maestro Engine 除显示1些状态信息,可以把1些不经常使用的 Macro 放在这里,进入 Debugging 捉虫模式的入口也在这里。 创建第1个 Macro: 这里我们创建1个用于将剪贴板内的文本粘贴为纯文本的 Macro,虽然有很多 App 可以做到这1点,正如前文所说,Keyboard Maestro 可以替换很多 app,同时实现这个功能也非常简单。 创建后,首先给他起1个名字,这里名为「粘贴为纯文本」,再为他选择1个触发器,即运行条件。macOS 默许粘贴动作快捷键为? + V,在此基础上再另加1个修饰键?作为触发器,这是1个比较符合直觉的设定。选择触发器为Hot Key Trigger,快捷键触发器,并添加? ? V。 使用 Keyboard Maestro 内建的剪贴板相干的动作:Fliter Clipboard来去除掉剪贴板内容的样式使其变成纯文本。 通过第1个动作将剪贴板内容处理为纯文本后,再通过第2个动作Type the Keystoke使 Keyboard Maestro 摹拟按下了? + V,将纯文本粘贴 App 内。 完成了!现在到阅读器里复制1段1段有格式的文字,然后到 Word 里按下 ? ? V看结果是否是纯文本? 很简单对吧,如果你有过使用 macOS 的 Automator 或 iOS 上的 Workflow 经验的话,应当很容易就可以明白 Keyboard Maestro 的基本逻辑。 如何像 Maestro 1样行事  Mac App Store 中充满了3万如果窒息了竞争多个用于各式各样专有用处的 App,但是 Keyboard Maestro 却不是这类思惟模式下的产物1,取代的是,Keyboard Maestro 提供了极尽豪华的工具种类,乃至使人眼花缭乱、无从入手。 但是之所以会认为无从下手常常是由于梳理不出1个具体的、会常常重复的用例。 所以,我们要问自己:我在 Mac 上常常重复的事情是甚么?有无办法把它分解成1步步动作?这些动作有无可能通过 Keyboard Maestro 来实现? Keyboard Maestro 工具库  下面来介绍1下 Keyboard Maestro 引以为傲的「弹药库」,如果你是初学者,现在只简单阅读1下有1个整体印象就能够。这部份更多是合适在你有1定基础以后,再回过头仔细看1遍。 触发器库  Hot Key Trigger:我们刚刚已使用过他了,他容易理解,也是常常使用的触发器——在按下特定快捷键组合时,运行 Action。 Macro Palatte Trigger:会在屏幕上显示1个「宏调色板触发器」,1个浮动的窗口。这个窗口只有在 Macro 可以履行的时候才会显示,然后用鼠标点击其中的 Macro 来触发。 Status Menu Trigger:在常驻 Menu Bar 的 Keyboard Maestro Engine 下拉菜单中添加1个项目。 Typed String Trigger:当某些字符被敲下时触发,与 HotKeyTrigger 不同的是,Typed String 敲下的字符不需要包括修饰键,同时这些按键不需要被同时按下。可以设置具体大小写敏感或匹配某个正则表达式。 Application Trigger:当某个利用程序处于某个状态时,触发。像 「Finder 从后台被激活到前台时」,「Chrome 被? Q退出时」。 Clipboard Trigger:系统剪贴板内容产生变化时,触发。 Engine Launch Trigger:在 Keyboard Maestro Engine 启动时触发,1般情况来讲,就是在 macOS 启动时,除非有你甚么特殊目的重启了 Keyboard Maestro Engine。 Focussed Window Trigger: 焦点窗口改变时、标题改变时、焦点窗口的标题改变时、窗口框架改变时,触发。 Folder Trigger:这个触发器会关注某个特定文件夹,当这个文件夹添加了新文件,移除文件,添加或移除文件时,触发。 Login Trigger:当 Keyboard Maestro Engine 随系统启动时,登陆到当前用户时,触发。大部份时候与 Engine Launch Trigger 没甚么区分。 MIDI Trigger:当1个 MIDI 装备上的某个按键被按下时触发。 Mounted Volume Trigger:任何装备或特定装我们去可笑的追着心中的梦备装载或弹出时,触发。 Periodic Trigger:用户登陆后,在1定时间间隔下,触发。这个触发器很合适用来履行1些周期性的工作,或追踪某些事件的进展。 Public Web Trigger:Keyboard Maestro 内建的 Web Server 激活,当有人连接到 Keyboard Maestro Web Server 时,触发。这个触发器需要1些更高阶的技能,可以用于想从别处保护自己电脑时。 Sleep Trigger:当 Mac 睡眠时触发,这个触发器能够将 Mac 睡眠推延长大概 30s 用于履行相应的 Action。 Time Trigger:到达某1时间点时,触发。 USB Devices Key Trigger:某个 USB 装备上的按键被按下时,触发。如果你在用像 Razer Naga Chroma 这类按键特别多的装备,你会很喜欢这个触发器。 USB Devices Trigger:某个 USB 装备或拔出电脑时,触发。如果你是插画师,可以设定:「插入绘图板时,启动 Photoshop」这类 Macro。 System Wake Trigger:类似 Sleep Trigger,在 Mac 唤醒时触发。 Wireless Network Trigger:连接到或离开特定网络时,触发。可以用于:插入以太网时关闭 WiFi;连接到公司 WiFi 时,取消 Surge 的 Proxy 设定。 Action 库  了解了触发条件以后,再来认识1下 Macro 可以做甚么。 Keyboard Maestro 提供了太多的 Action,但是大致可以分为以下几类: Application Control:这些动作可以用于激活、退出、隐藏、显示,上1个、下1个或具体某1个 App。 Clipboard:这些动作可以用于操纵系统剪贴板,进行像添加、删除、匹配格式、去除格式、过滤字符等。 Control Flow:提供了像 IF 语句、循环语句这类基本控制动作。这是高级 Ma飘飘悠悠地漫过你我的头顶cro 的立足之本。 Debugger:在1个 Macro 履行的不尽人意时,这些动作能帮助你排错。 Execute:可以履行 JavaScript, Apple Script, Shell Script, Automator Workflow 脚本。 File:可以对文件或文件夹进行在 Finder 中显示、移动、重命名、删除、制作副本等动作。 Google Chrome Control:Chrome 这个舶来品在 macOS 生态下不是显的不是很温驯。这些动作可以用于控制 Chrome。 Image:可以捕获屏幕上的图象,或用「计算机图形学」对图片进行旋转、镜像翻转、剪裁乃至更高阶的动作。 Interface Control:介面控制。这组动作可以对 UI 进行控制:摹拟敲击按键、移动窗口、摹拟点击鼠标、选择菜单栏上的某项 Item。 iTunes Control:播放,暂停、快进、回退等。 Keyboard Maestro:这是 meta action,用于操纵 Keyboard Maestro 本身。像在 Macro 中结合已存在的其他 Macro,对某项 Action 添加注释,激活、取消某个 Macro 组等。 Mail Control:用来控制 macOS 内建的 Mail.app。 Notifications:给 Macro 的履行情况添加1个反馈,可以是1个通知,也能够1声「嘟嘟」、1段特定的音效,还可以是1个弹出窗相反我会喜欢品味童年的每一滴回忆口正告??。 Open:打开特定的1Password项目书签,1个文件或 App,1段 URL,或在 Finder 中查找特定文件。 Quicktime Player Control:类似 iTunes开着黄|色的小花;这个时候正是挖掘苦菜的季节 Control,用来控制 QuickTime.app 。 Safari Control:类似 Google Chrome Control ,用来控制 Safari。 Switchers:Keyboard Maestro 内建了窗口管理器,利用程序切换器,剪贴板历光是看就感觉很开心史记录器。这个动作组可以激活他们。 System Control:将雨运用到这个主题这组动作用于控制电脑进入眠眠,注销或控制音量,亮度。 Text:这组动作用于操作文本,像排序,利用特定格式等。 Variables变量:这组动作用于使 Keyboard Maestro 贮存或进行其他操作1个变量。 Web:打开1个 URL 或搜索特定内容。 通过「录制」制作 Macro  了解完了触发器和动作,感觉怎样?头脑乱也没关系,实际上你不需要记清 Keyboard Maestro 支持的每个动作,制作的时候能想起来关键词去库里找就好。 就是斟酌到了这类不知道该用哪一个动作的情况,Keyboard Maestro 可以通过 recording 来记录你的动作,并从而制作 Macro: 在右下方,有「记录」按钮,他会记录下此期间你的所有操作。 但是通过这个方法制作的 Macro 利用环境比较窄,他要求履行时:系统的环境与录制时完全相同,否则履行结果就会与预期不符。 几个用例  了解完库以后,现在通过几个例子来具体说明 Keyboard Maestro 是怎样工作的。 简单动作快速启动 App 和访问特定 Finder 目录  对每一个人来讲,App 基本上可以分为几种,下面以我的情况为例: 常驻后台的 App常常使用的 App偶尔打开的 AppChrome, Telegram, Sublime, iTerm, FinderTweetbot, Reeder, Quiver, Spotify, Evernote其他 App  对常驻后台的 App: 由于他们常驻后台,可以通过在 Dock 上固定位置通过光标切换,也能够通过 ? ?来切换。但是不管是点 Dock 还是按? ?,都不够直觉,每次操作时候都需要眼睛辅助来定位,没法构成肌肉记忆,可以通过 Keyboard Maestro 设定1个? + 字母快捷键,定位到每一个 App,使用习惯后,快、准且不打断思路。 以 Sublime Text 为例,添加新 Macro 后回收树脂,设定触发器 Hot Key Trigger,添加 ActionActivate a Specific Application下方选择 Sublime。 对常常使用的 App: 由于第2部份 App 是经常使用但不会常驻后台,我将其设定成了统1的快捷键 ? ? ? ? + L。添加1个新的 Macro Group,就是学习创造一种早早就开始并能持续一辈子的生活方式——有自己真正喜欢的工作取名为「Launch Applications」,添加 Hotkey Trigger。 然后逐1添加类似第1类 App 的 Action,并且每一个 App 可设定不同的字母对应。 之所以添加了? ? ? ? + L来2次归类而不是统1都添加到? + 字母,是由于值得设定快捷键的 App 和动作实在是太多了,而键盘上的按键又远远不够,即便引入了Hyper键2,也需要10分克制的分配按键,这同时有助于自己记忆。 对其他 App:直接用 Alfred 或 Spotlight 就好…… 打开特定的 Finder 目录: 为了介绍更多 Keyboard Maestro 功能,这里使用对待爱情的态度才是重中之重另外一种方法:Keyboard Maestro 的「Conflict Palette」是「冲突调色板」,他会在设定的快捷键有冲突时弹出。 新建1个名为「Finder」的 Macro Group,新建 Macro,设定 HotKey Trigger ? ? ? ? + G,添加 ActionOpen a File , Folder or ApplicationOpen 后填写/Users/你的用户名/Downloads,此时按下? ? ? ? + G就打开了 Downloads 文件夹。 继续添加 Documents、Trash 等其他你经常使用的江南的四月风也浪漫雨亦多情文件夹到该 Macro Group。 Ps. 如果你找不到 Trash 的路径的话,可以将 Action 改成Execute Apple Script然后填入下面的 Apple Script: apple scripttell application "Finder" open trash activateend tell 由于都设定成了同1个 HotKey,在按下 ? ? ? ? + G时,Keyboard Maestro 就会调用「Conflict Palette」来询问具体是想打开哪一个文件夹。 Conflict Palette 的样式可以在 ? + ,内设置: 激活 OmniFocus 或 2Do 的同时履行同步  OmniFocus和2Do都是非常棒的 GTD 软件,但是他们默许仅仅会在软件启动时履行1次同步动作,有时在电脑上修改完成要出门时希望立即把任务同步到云端,可以通过 Keyboard Maestro 来使得每次打开 OmniFocus 和 2Do 时都进行同步。 有了制作快速启动 App 的 Macro,对 2Do 只需在此基础上添加1个随后动作:摹拟按下 ? S,这是 2Do 的默许同步快捷键。这样,每次启动 2Do 时都会履行1次同步操作,而不是再去点那个小小的 Sync ? 图标了。 之所以我还添加了摹拟 ? 0,是由于我比较喜欢以收件箱为主要入口来管理任务。 Command Q 防误触  对1些 App 来讲,按下 ? Q会立即退出,不会有任何提示和做保存当前状态的工作,有时候也可能只是想按? W却误点到了 Q,对这类情况,可使用 Keyboard Maestro 使得在容易出错的 App 内按下? Q时,弹出1个提示。 创建1个新的 Macro,名字为「? Q 拦截器」,添加 IF中的Application Condition,在特定 App 中,先弹出 Alert 正告窗口,询问是不是退出,在其他 App 中,直接履行? Q。 现在再在这几个 App 中误触,就会有提示了。 Duplicate当前行  在写代码和写文章时,常常需要把当前行复制1份,保存内容的同时进行1定的修改。Keyboard Maestro 没有 action 可以直接完成这个动作,但是会想1下我们平时进行这个操作时候的动作: 点击3下鼠标选中当前行 ? C复制点击另外一行 ? V粘贴  如何用键盘完成这个动作呢?抽象1下可以概括成: ? ←移动到行首 ?↓选中当前行? C复制 ↑回到之前行的上1行 ↓回到之前行的行首 ? V粘贴  制作成 Macro: 进阶动作控制 PopClip  PopClip是1个非常棒的 macOS 软件,他把 iOS 上复制粘贴样式带到了 Mac 同时还提供了强大的扩大能力。这里有1篇他的介绍文章。 但是不知道是 PopClip 本身的问题,还是和我的其他剪贴板控制软件有冲突,平常使用中常常遇到没法唤出 PopClip 气泡的情况,有时还会致使我使用 ? C复制失败;另外在使用键盘选择文字的时候, PopClip 是肯定不会被唤出的。可使用 Keyboard Maestro 解决这个问题,同时不丧任何功能。 我的用法是将 PopClip 本身置于未激活状态: 然后通过1小段 Apple Script: tell application "PopClip" to appear 这样在 PopClip 就会「听话」的在任何我真正需要他的才会弹出。 填充密码  在 macOS 使用时总有1些密码是要反复输入的:1Password 主密码,Apple ID 密码,Root Grant 密码。1遍遍的反复输入他们1点也不酷,可以通过 Keyboard Maestro 来快速输入。 设定1个快捷键:? ? ? ? 1,添加动作:Insert text by typing,通过打字来插入文字,填入 1Password 主密码,然后插入动作:Simulate Keystore,摹拟按下了?? 效果还可以 huh?但是不太安全,虽然触发的按键已很复杂了,但是有人按到时候还是会直接暴露密码。 添加1个 IF,添加1个new condition,选择Found Image Condition,将 1Password 主程序和 1Password Mini 在锁定状态下的截图添加进来,捎捎向右拨动下降1点阈值,这样更改后该 Macro 仅仅会在 1Password 锁定时履行。 但是,密码还是明文的! 想到了 Keychain Access 这个 macOS 内建的密码管理工具,将密码存在 Keychain 中就避免了明文存储,高兴的是 Keyboard Maestro 内建了能与 Keychain Access 互动的动作。 要在 Keyboard Maestro 中读取,首先在 Keychain 中建立新项目:? + N。 Keychain Item Name:是1会你将放到 Keyboard Maestro 的 item 名。 Account Name:是这个 item 的用户名,可以随便输入,但是如果不了解其机制的话,建议保持和你电脑的用户名相同。 注意:新建的这个项目1定要放到 Login 中。 然后回头修改 Macro,添加 Action Set Keychain Password to Varaible。将上1部中填入的内如顺次填入: 这样1来,这个密码对大部份「muggle」😈 基本上是不可知的了,但是所做的这1切都是基于1个假定:你是信任 Keyboard Maestro 开发者的,信任 Keyboard Maestro 得到 KeyChain 权限后不会「作恶」,在相对的便捷和的安全上,还是要做出自己的取舍。 Apple ID 密码和 macOS Root 密码可酌情做一样处理。 制作1个抬头信息窗  制作1个弹出的窗口,显示当前月历、时间、电池等信息,效果是这样: 首先在 这里下载这个 Macro。 得到如图几个文件,双击 Show heads-up info display.kmmacros导入到 Keyboar竟然荒诞的呆了七八个笼子妄图装着带回家装点自己的花园d Maestro,其余的文件可以放到1个你比较习惯的位置,但是其中battery-icons-svg文件夹和battery.rb1定要放在同1路径下,3个「calendar」文件也要在同1路径下。 如果你的电脑没有 Ruby 环境的话,需要先安装 Ruby: 通过 Spotlight 搜索打开 Terminal, 复制粘贴进以下代码: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 运行结束后,再履行: brew install ruby 便可成功安装 Ruby。 然后将图示中的位置改成你寄存这几个文件的位置。如果你不知道寄存文件的路径是甚么的话,将文件夹拖动到 Terminal 中就可以得到。 改好后按下预设的快捷键? ? -,就会有1个简单的信息窗弹出来了。 通过这个 Macro 展现了 Keyboard Maestro 和 web 技术交互的能力。 取代 TextExpander  TextExpander在升级到版本 6 以后,收费方式从1次买断转变成了定阅制:个人用户年付 40 美元,团队用户年付 95 美元,价格大幅上升的同时功能上却并没有实质提升,有充足的理由使用 Keyboard Maestro 来代替他。 以把剪贴板中的 URL 转换成 MarkDown 格式并插入为例: 可使用 Typed String Trigger,当按下预设的关键字:时,就会自动扩大并将剪贴板粘贴内容和光标都放到对应的位置。 对1些稍复杂,需要在不同位置添加不同字符串的片断,可以通过添加变量和 Prompt for user input动作解决,以制作快捷回复反馈邮件的片断为例: 首先使用 Set Variabe to Text将需要用到的不同字符串分别设置成不同的变量,然后使用Prompt for user input弹出对话框询问具体内容,把光标没有喜“仁厚”又崇尚节俭置于正文末尾以便于对不同的上下文添加不同的内容: 在 Prompt for user input后还可以接IF判断输入的内容,从而在下文粘贴不同的模板,这里不做展开。 1些 Tips查看节省的时间  在 Keyboard Maestro 编辑器的 About 项目下,可以看到 Keyboard Maestro 目前为止总共帮你节省的时间,其实节省的时间是小数目,避免的精力分散才是大数目。 保存1个方法来停止所有的 Macro  在编辑新的 Macro 或运行游戏时,设定1个全局快捷键来临时停止所有的 Macro 可以控制变量,避免没必要要的干扰。 通过 Alfred 或 LaunchBar 来启动 Macro  其实不是所有的 Macro 都需要设定1个触发器,有时候可以把他放在 MenuBar 中的 Keyboard Maestro Engine 中来启动,或干脆只通过 Alfred或LaunchBar来启动。 如果你没有使用者两款启动器的话,可以通过这类方法来到达差不多的效果: 对 Alfred,可使用 这个或这个Work漆黑中摸索着身边的人还在睡flow 来启动 Macro;对 LaunchBar,可使用这个方法我没有办法说不。 善用通知  对1些履行效果不明显的 Macro,像我有1个 Macro 是在启动 Safari 时,自动恢复上次关闭时的所有页面。在 action 的1步添加1个通知来唆使 Macro 是不是成功运行会很有帮助。 使用 Debug模式  Macro 履行结果不理想时,要利用好 Debugger,他会唆使每步的运行情况。同时,要会使用 Pause暂停Action,很多时候 Macro 卡在了某1步多是履行太快,添加1个微不足道的暂停会有奇效。 1个 Macro 只产生1个影响  可能你能够制作出很多很 Cool,在1个 Macro 完成很多事情。但是这不是好的 Macro 设计,不但混乱,而且不利于将来的管理。 拓展浏览官方 WiKi和官方文档是的资料。同时官方论坛里有很多有价值的讨论。Ez Buttons做了1系列很不错的 Keyboard Maestro 视频教程。Rocketink有很多文章说明了 Keyboard Maestro 本身或和其他 App 的结合。1篇比较旧的 文章,讲述了1些进阶技能。 尾声  Keyboard Maestro 是 macOS 上非常出色的自动化 App,只要你使用得当可以极大的提升 Mac 使用效力。结合以上几个例子可以看出,Keyboard Maestro于此上岸 只是1个平台,更高级的利用是少不了 Apple Script、Shell Script 加持的,学习并了解相干知识能极大的提升 Keyboard Maestro 利用范围。 祝你能够做出合适你自己的 Macro! 如果有甚么反馈可以来 Twitter或Telegram联系我。 苹果的「自动化技术产品经理」( p只因我在这里日以继夜为你祈福roduct manager for automation tech我就想这样地称呼你nologies ) Sal Soghoian 在 2016 年 11 月离开了苹果,不论是 Sal 本人自己提议还是苹果的解雇,这都是1个标志——在苹果看来:「给1堆照片批量重命名要点鼠标点键盘好屡次好烦哦?那就去 App Store 下1个 $9.99 的 App 吧,这才是未来!」不过这是另外一个故事了。??这里之所以用了 ? ? ? ?这类看起来10分难按的修饰键,是由于我将CapsLock ?更改成:长按按下时相当于同时按下了? ? ? ?,短按时为Esc ??,同时把 CapsLock 这类新的用法称为 Hyper 键。如果你在使用 OSX 10.11 或更早的系统,可以参考这篇文章来修改;如果你在使用 macOS Sierra,这篇文章和这篇文章分别可以参考。??文章部分转载于网络,内容仅代表作者本人观点,与本网站无关。仅供读者参考!长盛上东区
  • 友情链接
  • 合作媒体