让你的Mac成为超高效率的工做工具(Keyboard Maestro 和 Alfred的整合)

本文首发于微信公众号——世界上有意思的事,搬运转载请注明出处,不然将追究版权责任。微信号:a1018998632,交流qq群:859640274php

用mac已经有了一段时间了,做为一个爱折腾(懒)的程序员,我花费了大概一周的时间将本身的mac打形成了一个超高效率的工做工具,先展现一下其中的一个成果。html

一键退出某些工做app

  • 上面这个图是一键退出某些工做app,而后准备进入windows虚拟机工做
  • 原本还有一个gif,可是太大了,因此直接放成视频,有兴趣能够看看:一键进入工做

一.如何构建你本身的快捷键体系(理论,若是不想看,能够跳过这一章直接看下一章实践)

咱们都知道快捷键可使得手不离键盘,这样一来就能减小键鼠(触摸板)之间的切换,从而提升效率。可是不一样的软件的快捷键不一样,不一样平台之间(windows、mac、linux...)的快捷键也不一样,那么如何一劳永逸的使用一套快捷键通吃全部软件个平台呢node

1.让全部平台遵循一个规范

正如咱们前面所说,平台有好几个,因此首先咱们得肯定一个平台做为基点。我是从windows平台过渡到mac上面来的,以前的快捷键习惯不想改了,因此各类快捷键标准向windows看齐。(我想大多数人都是这样的,因此具备必定的适普性)linux

2.观察软件,找到共性

不管是window仍是mac经过观察各式各样的软件,咱们都能看见有下面这些操做方面的共性,下面以Mac的软件为例android

  • 1.仔细观察软件们的顶部菜单咱们会发现,文件(file)、编辑(edit)、显示(view)、窗口(window)、帮助(help),这些条目是大部分app共有的(固然可能名字不一样)除去帮助,咱们还有四个条目能够下文章:
    • 1.文件(file):
      • 1.打开新标签页、打开文件、关闭标签页、保存文件,绝大部分app都有
    • 2.编辑(edit):
      • 1.复制、粘贴、剪切、全选、查找、重作、撤销、搜索,绝大部分app共有
      • 2.搜索上一条、搜索下一条,少部分app共有
    • 3.显示(view):因为每一个app的界面布局不同,因此我仅仅举几个例子。
      • 1.Safari的:显示/隐藏书签边栏、显示/隐藏阅读边栏
      • 2.Android Studio、CLion、IDEA:显示/隐藏各类边上的工具栏
      • 3.Evernote:显示/隐藏侧边栏
    • 4.窗口:
      • 1.上一个标签页、下一个标签页、合并全部窗口,大部分app共有
  • 2.联想咱们天天须要对app进行的操做:
    • 1.屏幕分块:整个屏幕、左半边、右半边、左上四分之1、右上四分之1、左下四分之1、右下四分之一
    • 2.最小化、全屏
    • 3.关闭软件
    • 4.偏好设置
    • 5.前进、后退

3.使用软件,找到个性

前面是找共性,找完了以后。咱们在平常使用软件的时候会发现,某个软件的某些功能咱们几乎没隔多久就会用一次,此时须要将这些特殊的功能提取出来,仍是以Mac为例git

  • 1.Finder:咱们会发现某些目录常常会用到,下载、桌面、用户目录、应用程序、文件...
  • 2.Safari:各类书签
  • 3.我的工做的软件:Android Studio、Photo Shop、IDEA、Sublime、VS Code...的各类项目

4.全局快捷键

对于某些操做是属于某个app的可是咱们须要在全部app中都使用这个功能,此时就要用到全局快捷键程序员

  • 1.打开经常使用软件:例如Safari、Finder、Chrome等等,咱们经常会互相切换,此时定义一个顺手的快捷键尤其重要
  • 2.某个app的全局功能:翻译、记笔记、发邮件等等

5.快捷键的类型归类

咱们知道不管是windows仍是mac,都有shift、alt(option)、ctrl、win(command),这四个功能键。我就按照个人考虑将这些快捷键归个类,由于个人快捷键是依从windows来的,因此以windows为例github

  • 1.shift+字母:输出大写,地球人都知道
  • 2.ctrl+字母:编辑相关的快捷键,如文件的增删、打开、保存,文字的全选、剪切、查找等等
  • 3.alt(option)+字母:控制相关的快捷键,如软件窗口的增长、关闭,标签页的上一个、下一个等等
  • 4.win(command)+字母:在mac中其实command键的功能就是windows的alt的功能,因此重复了,能够废物利用成一个后面说的组合键
  • 5.组合键+字母:有两种用法,用于全局按键
    • 1.直接组合:这种组合方式不少,可是每次按起来比较麻烦
    • 2.使用工具将一个废弃的键(例如前面说的command键,或者fn键)代替组合键,即按这一个键,等于按多个键。

二.如何构建你本身的快捷键体系(实践)

1.接下来的实践是基于如下几条规则:

  • 1.基于MacBook Pro 2017的内置键盘
  • 2.大部分快捷键基于windows的习惯
  • 3.小部分快捷键基于自身习惯

2.两个软件的介绍

  • 1.Karabiner-elements:
    Karabiner-elements配置
    • 1.功能:能够将键盘上的任意两个键进行功能调换
    • 2.个人使用:用于将Mac的内置键盘的fn与左control互换,左option与左command互换,右command和右option换成了home和end.
    • 3.Karabiner-elements下载地址
  • 2.Keyboard Maestro:
    • 1.功能:能够经过定义一个快捷键,实现一系列固定的操做
    • 2.个人使用:接下来会按照上一章说的各个操做进行快捷键的设置
      • 1.复制、粘贴、剪切、全选、查找、重作、撤销、搜索、保存文件、打开文件,以上的操做都遵循windows,都是ctrl+字母。可是咱们知道在mac下这些快捷键是command+字母,因此须要进行转换:
        • 1.添加一个新脚本:
          新建脚本
        • 2.命名脚本,为脚本添加一个触发器(即当进行这个操做的时候,会执行这个脚本),我这里使用的是按键触发器,即当按下某些键的时候就触发这个脚本
          命名并添加触发器
        • 3.将ctrl+c填入触发器中,而后点击添加动做,会弹出动做的列表,能够在上面查找咱们须要的动做:
          添加动做
        • 4.咱们添加了一个触发按键的动做,并填入了command+c。此时这个脚本就表示,当咱们按下了ctrl+c的时候会触发command+c按下的动做:
          添加快捷键的动做
        • 5.这样一来咱们能够将上面的所有动做动转换成以windows平台为标准的快捷键,流程都是同样的。
      • 2.打开新标签页、关闭标签页、上一个标签页、下一个标签页、前进、后退,不少app都会有标签页这一律念,例如safari、finder、sublime、Evernote、IDEA等等各类IDE,这些快捷键的定义能够根据我的爱好,或者Windows,或者Mac的标准。我通过实践发现使用alt(按键转换前的command)+方向键等,最为适手:
        • 1.上一个/下一个标签页:alt+左方向键/右方向键,
        • 2.前进/后退:ctrl+alt+左方向键/右方向键,
        • 3.打开/关闭标签页:alt+加号/删除键,
        • 4.至于脚本的定义,和上一节中一致
      • 3.打开边栏/工具栏之类的操做能够定义成alt+数字,这样的好处是若是工具栏增多了,能够进行拓展,也方便记忆
      • 4.整个屏幕、左半边、右半边、左上四分之1、右上四分之1、左下四分之1、右下四分之1、最小化、全屏,像这些功能相似的操做,咱们能够制做成一个脚本集合,经过一个快捷键+字母就实现所有的功能:
        • 1.添加一个Group
        • 2.在集合中添加第一个脚本,添加按键触发器,添加剧置app窗口大小动做:
        • 3.点击上一步添加的动做中的resize by菜单,咱们会发现菜单中有许多功能,足够知足咱们的需求,咱们能够选择Full Screen
        • 4.此时一个具备将app窗口占满整个屏幕的功能就诞生了:
        • 5.此时只有一个功能,咱们能够接着按照相似的操做定义其余功能。有一点要注意的是,这个group下的所有脚本的按键触发器须要设置成同一个快捷键,如图所示
        • 6.当咱们完成了上面的操做的时候,咱们能够试着触发快捷键,会发现所有的脚本都显示在一个菜单中,而咱们只须要经过按一个字母选择一个脚本触发就好了:
      • 5.打开经常使用软件、打开不经常使用软件、关闭当前软件,这些就简单说说,由于也就是一个动做就能搞定的功能
        • 1.打开经常使用软件:
        • 2.打开不经常使用软件:可使用脚本集合来减小快捷键的数量
        • 3.关闭当前软件:
      • 6.在Finder中快捷打开某个文件夹,这个功能比较复杂。咱们前面都是在一个脚本中只使用一个动做,在这里咱们能够按顺序执行一系列动做以完成这个复杂的功能:
        • 1.先将Finder调为当前应用
        • 2.使用一个计时器,中止执行脚本直至Finder已是当前应用
        • 3.触发快捷键ctrl+G,你们打开Finder能够看见有这样一个功能前往文件夹...,这里就是触发这个功能:
        • 4.再触发一个delete键,将当前的路径删除
        • 5.在**前往文件夹...**窗口中填入目标路径
        • 6.触发return,这样一来就到了目标文件夹
        • 7.固然若是文件夹多了的话,可使用脚本集合,同理更多的功能均可以像这样由一个个的小功能叠加起来
    • 3.KeyBoard Maestro下载地址

三.为快捷键体系添加更多功能

若是说我对Keyboard Maestro有不满意的地方,那么就是图形界面太少。对于如何制做搜索的功能我根本无从下手。这个时候Alfred拯救了我,我想不少人都用过这个软件,相关的介绍也不少了,因此接下来我只说别人没说过的编程

1.个人插件

固然我搜集了不少插件,其中有些通过了我本身的改造,如今放出来给你们使用。windows

  • 1.Things:能够和things结合快速定义日程
  • 2.NetWork:能够查看wifi列表并链接wifi
  • 3.ItermFinder:能够在Finder和Iterm之间互相打开路径
  • 4.Top:查看前几名内存的应用
  • 5.Restart:从新启动应用
  • 6.Kill:直接将应用杀死
  • 7.Fakenum:获取测试数据
  • 8.Ip:获取当前电脑的ip
  • 9.HiddenFile:显示或者隐藏 隐藏文件
  • 10.EverNote:直接填写笔记,或者查询笔记
  • 11.Douban:在Douban上查找电影、音乐、书籍评分
  • 12.Dash:在Dash中查找
  • 13.Copy Url:拷贝当前网页的url
  • 14.BiliBili:在b站查找
  • 15.Baidu:在百度中查找,会提早显示条目
  • 16.AboutMac:查看mac的信息
  • 17.知乎:在知乎中查找,会提早显示条目
  • 18.有道翻译:查找翻译单词意思,还能够说出英文
  • 19.ADB:作android的会知道,进行ADB的操做

2.将Alfred与Keyboard Maestro相互整合

这里我默认你们对Alfred已经有了必定的了解,若是真的不了解的话能够看看这个教程。少数派的Alfred教程

  • 1.Alfred的劣势:相较Keyboard Maestro的众多动做,Alfred的动做比较少。就例如一个简单的模拟按键按下都须要AppleScript来实现,更别说更复杂的动做。
  • 2.Keyboard Maestro的劣势:
    • 1.前面已经提到了一个,KM没有方便的搜索界面。
    • 2.Alfred能够更方便的执行pyhotn、php等脚本语言的脚本
  • 3.Alfred和Keyboard Maestro的互相调用:只要可以互相调用就能够方便的将两个软件进行结合
    • 1.Alfred调KM:其实咱们知道KM目前绝大部分的入口是快捷键,因此咱们能够在Alfred中使用一个模板AppleScript来触发快捷键从而调用KM:
      • 1.建立一个Alfred的Workflows,填写一个keyword触发器:
      • 2.建立一个脚本执行器:
      • 3.填写执行代码,很简单一、3行是默认的不用修改,第2行前面的osascript是默认的,后面的是AppleScript的路径:
      • 4.构造模板AppleScript也很简单,一、3行不须要改变,第二行的数字表明字母,大括号内能够填写四个功能键。因此这一个脚本的意思就是,按下alt(option)+37表示的字母。点击查看数组表明的字母
      • 5.至此咱们就能很方便的在Alfred中调用KM
    • 2.KM调用Alfred:这个就简单了,由于Alfred的是快捷键和搜索窗口,因此能够经过以前的教程很方便的构建脚原本调用Alfred

3.Alfred下载

Alfred下载地址

四.其余软件以及Tips

  • 1.PopClip:
    • 1.使用:能够经过KM将其整合到快捷键体系中
    • 2.功能:能够对选中的文字进行各类操做
    • 3.插件下载
    • 4.软件下载
  • 2.Evernote:
    • 1.使用:能够经过KM将快速笔记的功能整合进入快捷键体系中:
    • 2.功能:
      • 1.迅速记录文字,而不须要对应用进行切换
      • 2.经过前面的Alfred插件联动,能够方便的查找笔记
  • 3.Dash:
    • 1.程序员的宝典,经过前面Alfred插件的联动,方便查找Api
    • 2.软件下载
  • 4.AirMail:
    • 1.比原生邮件更方便的邮件客户端,能够方便的整合进入快捷键体系
    • 2.软件下载
  • 5.MindNode:
    • 1.简约方便的思惟导图应用,能够经过PopClip的插件md2mm,直接将md的文章转化为思惟导图
    • 2.软件下载
  • 6.Parallels Desktop:
    • 1.Mac下面最好的虚拟机,能够经过KM定义脚本的方式,在Mac和Windows之间切换
    • 2.[软件下载](www.sdifen.com/pd132.html

不贩卖焦虑,也不标题党。分享一些这个世界上有意思的事情。题材包括且不限于:科幻、科学、科技、互联网、程序员、计算机编程。下面是个人微信公众号:世界上有意思的事,干货多多等你来看。

世界上有意思的事
相关文章
相关标签/搜索