讓你的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

不販賣焦慮,也不標題黨。分享一些這個世界上有意思的事情。題材包括且不限於:科幻、科學、科技、互聯網、程序員、計算機編程。下面是個人微信公衆號:世界上有意思的事,乾貨多多等你來看。

世界上有意思的事
相關文章
相關標籤/搜索