介紹一個歐神寫的剪貼板多端同步神器
經常會遇到這樣的場景:手機上看到某位大佬發了一段醍醐灌頂的話,馬上想記錄到自己的筆記系統裏去。但電腦上並沒有登錄微信,所以還得先登錄電腦端微信,再自動同步消息,找到那段話,複製,記錄……
如果我們用的是蘋果全家桶,情況稍好一點:iphone 上覆制之後,在 mac 端直接粘貼就行了。但 “接力” 功能有時也會失靈,不太可靠。
而如果手機用的是 iphone,電腦用的是 win,那日子就會更難過一點。如果恰好又要用 Linux 桌面版玩一些機器學習的項目,簡直就太麻煩了,目前好像也沒有太多的解決辦法……
歐神開源的這個工具 midgard[1] 正是解決剪貼板多端同步的問題,包括 mac,win,Linux,iphone。
剪貼版自動在 mac 和 win,桌面板 Linux 間同步,iphone 上用捷徑獲取、上傳剪貼板。
多端同步
除了剪貼板同步,midgard 還有另外 2 個超級好用的功能:
-
圖牀
-
代碼片段生成好看的圖片
先說圖牀,在 mac 端的使用流程是這樣的:截圖;按下快捷鍵 ctrl+alt+s
。圖片被上傳到服務器,並且圖片會自動備份到你的 github 上。然後這張截圖的鏈接就靜靜地躺在本地 mac 的剪貼板上,這時只需要 ctrl+v
,就可以將圖片鏈接貼到文章裏,非常優雅。
再說第二個功能。之前 Go 夜讀知識星球裏有一個讀代碼的打卡活動,歐神每次都是在地鐵上用手機看代碼,完成打卡。需要一個工具能將 iphone 剪貼板上的代碼片段轉成好看的圖片,再發表在星球上:
carbon
它就是 code2img[2],現在 code2img 也集成到 midgard 裏來了。
介紹完了功能之後,再來簡單看一下原理。
架構圖
在 mac 端部署一個後臺常駐進程,設置成開機啓動。它通過 websocket 和 server 端保持同步,同時它會捕獲本地系統快捷鍵和剪貼板的變化。每當本地剪貼板發生變化時它會將內容同步到 server,server 再將內容廣播到其他端;當捕獲到 ctrl+alt+s
快捷鍵後,會調用 allocate
接口將圖片上傳到 server 的 ./data
目錄下,server 返回圖片鏈接,並寫入本地剪貼板。
最後,歡迎大家親自試試,項目裏有詳細的安裝文檔和使用文檔,中英文都有。另外,歐神的代碼寫得很好,值得多學習,有問題本文留言。
參考資料
[1]
midgard: https://github.com/changkun/midgard
[2]
code2img: https://github.com/golang-design/code2img
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/5Fx84X455DrdBVSs0rFNCg