上一篇文章從應用(application)的選擇上推薦了一些我常用的應用或工具,這篇主要從配置(config)和思路、原則上提高工作效率。總而言之,我們的目的只有一個,幫助儘快完成工作,能不加班就不加班,最好是永不加班(滑稽臉)。
本文將重點關注資料上,這裡的資料是廣義的,如提醒事項、筆記、備忘錄、伺服器ip地址、shell命令,這些在本文中都定義為資料。
當然,本文所有的內容僅是個人觀點和經驗之談,所以如果和各位讀者的看法有衝突也是難以避免的,選擇適合你自己的即可。覺得還有點兒用,可以點個贊?支援一下。
文章內容大體如下,總體閱讀時長在15~20min左右,各位可以選擇跳章節檢視:
- 第一章:配置Shell(偏硬核,適合於開發者)
- 第二章:檔案歸類
- 第三章:資料分類
- 第四章:有關RSS訂閱
- 第五章:謹慎使用推送
良好的shell環境是第一步
我相信沒有任何一個程式設計師使用 MacBook 而不用其上的任何 shell ,日常我會使用 shell 啟動測試服務、查詢&編輯檔案、檢視ip、ping、traceroute、ssh登入伺服器.... 。
如果你看了上一篇文章,你現在肯定已經安裝好了 iTerm2 。而這裡主要介紹如何配置一個良好的shell環境,配合上 iTerm2 會更加強大。
“oh my zsh” first
zsh 是 shell 的一種,而oh my zsh是為了簡化 zsh 配置而產生的,安裝了 zsh 之後,你將擁有:
- 友好的顏色輔助提示。
- 更加友好的歷史命令搜尋。
- 更加智慧的自動命令補全。
總之,上述的功能讓我在以下的場景更舒坦了:
(1)輸入了若干命令之後,突然想用很早的一條命令,現在只需要輸入關鍵字然後按方向“上”鍵即可按關鍵字搜尋命令。以前要一直按方向“上”鍵才能找到。
(2)突然想看下該目錄下的 git 分支狀態,此時直接展示在 shell 上的,以前還得輸入命令。
使用命令結合 tab 鍵有意想不到的方便,比如前端常用的 npm run *** ,此時鍵入 npm run + tab鍵,即可檢視有哪些 npm 命令可用。以前需要檢視package.json
。
總之,oh my zsh 是方便使用 shell 的第一步也是最重要的第一步,具體的安裝方法這裡不提供,度娘上一搜就是一大堆文章。對了,需要注意的是:請設定 zsh 為預設啟動項,不然每次啟動shell會預設啟動bash。
配置方便配置的配置
配置 shell 常用的 alias 我認為才是真正的靈魂所在,alias 就是命令的“別名”。舉個例子:如果我配置 alias showip="ifconfig |grep "inet ""
,那麼以後我只要輸入showip
就可以檢視我的inet ip
(理解為區域網ip)。每次輸入 alias 的時候都回想起了小時候玩“星際爭霸”輸入祕籍的感覺。“black sheep wall”
這樣的場景就是和某開發在同一區域網下,然後服務需要在區域網除錯時,方便把區域網ip提供給對方的時候。
我一般會將所有的 alias 配置寫入 ~/.bash_profile
中,因為它會在執行 bash 時生效。如果已經配置了 zsh ,請將配置寫入 ~/.zshrc
中。
首先,一定要做到新增/檢視/生效配置方便。所以我先新增了如下兩條配置:
alias showconfig="vim ~/.bash_profile"
直接開啟配置檔案alias fresh="source ~/.bash_profile"
生效配置檔案
這樣做讓我能夠很快的對配置進行新增/檢視/生效,降低了使用成本,這就叫做配置方便配置的配置。
快捷進入常用資料夾
我們總會有幾個資料夾需要經常進入,如桌面、專案資料夾、文件資料夾等。而每次在 shell 裡一步一步的“cd”進去太麻煩了。直接配置 alias 會方便很多。拿我自己舉例子:
我有如上幾個目錄常用:
- work 是我的工作目錄,我日常開發的專案會放在這裡面
- doc 目錄我用於存放專案相關的文件等
- lab 目錄主要用於對一些開源庫進行測試和玩耍
- fun 目錄就是自己寫著玩的一些小東西
- Project 目錄為了歸檔已經開發結束的專案,檔案大都來源自 work 目錄。
為了方便進入這些資料夾,我會直接配置:在 shell 鍵入關鍵字就是進入相應資料夾。如鍵入work
就是進入 work 目錄。當然還可以配置方便進入桌面目錄和個人使用者頂級目錄等。怎麼方便怎麼來。效果圖如下:
快速進入伺服器
每次都感覺輸入ssh root@***.***.***.***
都特麻煩,一是 ip 地址不好記憶(可以用host解決,後面會講),而是鍵入“@”還是比較麻煩的,想偷懶的話可以配置快速進入伺服器的alias。
如:有一臺你的伺服器的公網ip為47.96.112.33
,這個時候可以配置如下:
alias login1="ssh root@47.96.112.33"
(這裡僅以root使用者舉例)。
這樣就可以鍵入login1
就進入伺服器了。如圖所示:
配置host
記不住 ip,但是又需要經常 scp 檔案到伺服器怎麼辦?
那就配置 host 吧。簡單來說,host 就是你主機上的 ip -> 域名的一個對映表。一個最基礎的就是127.0.0.1 localhost
。所以我們可以在瀏覽器輸入localhost
而訪問本機。
這裡推薦一個小工具:iHost (可直接在 app store 下載)。他提供編輯 host 檔案和按環境切換 host 的功能,還算比較方便。
檔案都要有好的歸屬
這一章主要講一些關於檔案分類的思路,這樣做的目的是為了更好地檢索自己的檔案,如果雜亂地放到後期根本找不到好嗎!
桌面一定要乾淨
敲黑板!重點!這條原則如果你遵守了,你會感覺你的電腦“乾淨”了很多,也有繼續“做清潔”的動力了。這是我的桌面:
是不是很乾淨!是不是看著就像工作!(第二條不存在的)
Finder 左側欄放常用資料夾
我會在 Finder 的左側欄放我最常用的資料夾,如下圖:
其中很多資料夾都在上一章講過了,到目前為止,我可以在視覺化介面和Shell中進入我最常用的資料夾了。這裡我要重點講講“RAM”資料夾和“ROM”資料夾。
RAM 是隨機存取儲存器(英語:Random Access Memory,縮寫:RAM),也叫主存,電源關閉後不會保留資料。
ROM 是隻讀儲存器(Read-Only Memory)的簡稱,是一種只能讀出事先所存資料的固態半導體儲存器。其特性是一旦儲存資料就無法再將之改變或刪除。
很多時候,我們會在某一項工作內容使用大量檔案,然後我們習慣性地會放到桌面(Desktop)上,然後可能會並行做第二項工作,這時可能就有大量檔案堆積在桌面上影響工作心情和檢索速度。而這樣又和**“保持桌面乾淨”的原則衝突了,這時候RAM資料夾就像桌面的第二抽屜**。所有的當前工作所需檔案都會放在該資料夾裡,而桌面上只保留即用即刪的檔案即可。
而在工作完成之後,一定要把RAM資料夾清空或歸檔到ROM裡。這樣做的目的是為了讓下個工作事項進來的時候不會和老檔案混在一塊。取名叫RAM因為它有著很真正的RAM相似的特性:這裡是工作完成後裡面的資料被清除。(刪檔案的時候還挺有快感的)
解釋了RAM,ROM就簡單了,這個資料夾就放那些歸檔過來的檔案和自己的重要資料檔案。有點類似真正的ROM。
總的來說,“RAM&ROM資料夾方案”就是為了做到“動靜分離”。
經常備份是好習慣
建議各位購買一個1TB+的行動硬碟,作為 Time Machine 使用的備份硬碟,同時儲存不會經常開啟的照片、視訊、桌布、網課等。雖然備份在通常情況都用不到,但是卻能防範一些傷害重大的特殊情況:電腦被偷、主機被燒、主機被摔壞等。不知不覺自己的電腦已經備份了兩年了。
iCloud 和 oneDrive
對於一些需要跨端使用的檔案,請放入 iCloud 或者 oneDrive 裡(看具體使用情況而定)。
作為 MWEB 的忠實擁護者,我經常會在 iPad 上編寫筆記,所以我就會把 MWEB 的檔案庫放入iCloud中,這樣我就能同時在 iPhone、iPad、MacBook 上訪問我的筆記,隨處編寫,一改全改。
當然,我也會使用到 Word 、Excel、PowerPoint 等,所以我會將上述檔案存在 iCloud 或者 oneDrive 上,方便我隨時隨地對自己的文件進行修改。
需要注意的是,iCloud 和 oneDrive 的免費空間都是 5GB,節約一點地使用應該足夠,如果不夠的話可以選擇購買,iCloud 我購買 50GB 空間的價格是 6¥/月,略貴。
自己產生的資料請做好分類
使用電腦會產生大量的資料,我希望能夠對自己產生的資料最大程度上做到分類和規劃。
一件持續時間很長但低頻的事情用“備忘錄”
對於某些事情,我可能需要做長時間的準備和處理,同時還可能新增刪除資料。我覺得最好的方案是在備忘錄裡新建一個檔案用於記錄。
如旅遊計劃、畢業所需工作、租房計劃等,這些都需要較長時間的準備,且用完即歸檔的。所以放入TODO事項和筆記裡都不太合適。備忘錄就是最好的歸宿了。
比如畢設答辯準備:
這樣逐步收集檔案,記錄該工作所需的TODO項會讓一切的一目瞭然,也方便自己做更好地計劃。
當天必須完成的事情用“提醒事項”或者滴答
我的“提醒事項”裡的設計比較簡單。一個 Today ,表示今天必須完成的事情,所以每天我的任務就是清空它。第二個就是Todo,這代表我未來需要做的事情。所以經常的操作就是把 Todo 裡的任務拖進 Today 裡,這樣既能 focus 當下需要做的任務,又可以積累規劃未來需要做的事情。
需要注意的是 描述任務一定要描述得非常具體,不然之後會忘記這件事情到底是什麼事。比如:“開發XX系統”、“寫XX作業”這樣的任務描述就非常不好。第一這些任務可能不是一天能完成的,第二,你可能忘記具體的任務。最佳實踐如下:“完成XX系統XX模組的XX功能”,“把襪子洗了晾好”,“下午3點去老四川吃魚香肉絲”。
有兩個很棒的功能點要分享給大家:
(1)MacOS的提醒事項和日曆的快捷輸入框有時間關鍵字模糊匹配功能,例:輸入“下午3點列印照片”然後按Enter鍵,則會建立一個推送提醒在下午三點,文案寫著“列印照片”。
(2)日曆應用可以預設預設的推送提醒。如圖所示:
通過設定 “日程:15分鐘前”。那麼在日曆的快速輸入欄輸入任務,就可以預設日程發生前15分鐘傳送推送提醒。否則就需要自己每次手動設定,太麻煩了。這樣可以對這日曆在快速輸入欄裡迅速規劃好當月、當日、當年要做的重要事情,且還帶上推送提醒。
資訊收集類用“滴答清單”
對於書單、電影、電視劇或者某一類可歸類的事務,我會用到“滴答清單”。因為我可以用它來積累我喜歡的事物,比如想去旅遊的地方,想買的東西、想看的電影電視劇或者想讀的書,而且每完成一項都有一定的成就感。同時,我還能再“滴答清單”裡對事物進行更詳細的描述。
圖為“好看的電影清單”。
同時“滴答清單”也提供了“提醒事項”全部的功能,目前我也正在從原來的“提醒事項”遷移至“滴答清單”。因為我發現滴答清單的功能更齊全同時也具有跨端使用的能力。
通過快捷鍵也能設定提醒,比“提醒事項”更方便。
寫日記用dayOne
一些私密或者一些日常的流水賬我喜歡用DayOne,如果想要跨端使用,就必須購買它了,還挺貴的。如果只在電腦上使用,那麼完全可以不購買。
我會用它記錄我的一些比較私人的心得體會同時設定密碼,手機端支援指紋解鎖。dayOne 給我的寫作反饋是最良好的,良好的UI設計和互動設計,同時還能新增圖片、地點等資訊,用於記錄生活真的很不錯。(好像這裡有點偏題了)
寫筆記、推文、總結用mweb
我日常用於記錄筆記、寫技術部落格、寫推文、會議記錄都是用的MWEB,在上一篇文章裡也有該app的相關介紹,這裡我就不多贅述了,主要考慮以下幾個優點讓我最終選擇它:
- 跨端寫作的能力,一處修改,處處修改。
- 整合了釋出的能力,能一鍵釋出至我的部落格網站。
- 對 markdown 語法支援太好了。
- 對圖片的管理也很棒,支援圖床或本地圖片。
另外,用 mweb 來記錄 todo 項是錯誤的,因為我會忘了開啟看而起不到提醒的作用。用來記錄一些持續時間長的事物但是用處又不大的事物也很多餘(這裡用備忘錄來代替),感覺會汙染筆記質量。
下圖為我的 mweb 使用情況,積累了快兩年的筆記。
RSS只訂閱自己關注的
相對於基於推薦演算法的內容推送,我更喜歡基於訂閱的 feed 流。(RSS訂閱的過程中會用到的“Feed”,便是表示這是用來接收該資訊來源更新的介面)
但是經過我這兩三個月的體驗踩坑,我發現RSS必須只訂閱自己喜歡的,就像買東西一樣,訂閱RSS源的時候也一定要再三考慮,否則就會出現“資訊吃灰”和“資訊雜亂”的情況。所以原則就是:
RSS只訂閱自己關注的,別跟風,別高估自己的閱讀速度和消化資訊的能力。
我會使用Reeder+RSSHub來閱讀 RSS 資訊源,比如我喜歡看B站up主“木魚水心”和“testv”的視訊,所以我會先在 RSSHub 上製作一個rss訂閱源,再在Reeder(一個RSS閱讀器)上訂閱該rss源,根據喜愛程度,我還會給“木魚水心”接入一個IFTTT,這樣我就能在他視訊釋出的時候在我的 apple watch 上給“最強推送”。
下圖是我的Reeder:
謹慎使用推送
最後,我們給資訊做個減法。手機推送一定要好好管控,不然你會感覺十分被打擾。我用的是如下的原則(不僅適用於 MacBook):
- 所有app安裝完成之後關閉它的所有推送功能。
- 開啟你覺得需要的推送,按如下來分級:
- 需要即時性:開啟所有提醒(鈴聲+震動+亮屏)。
- 僅僅需要閱讀一下:開啟亮屏。
- 一目掃過:什麼提醒都不開,僅僅展示文案,解鎖螢幕才可見。
針對微信來說,登入了電腦微信之後,請把手機微信調至靜音,不然別人發一條訊息兩邊都提醒是最難受的。當然,有時候登入了電腦微信但是人離開了電腦,此時需要把靜音模式關閉,不然別人發訊息手機是不會推送的。
我是十分討厭明明在一個很重要的場景之下卻聯絡不到人的情況。所以各位在身負重任的時候開啟一條能讓別人立刻能聯絡到自己的通道。我認為這是最基本的合作禮儀。
寫到最後我發現已經偏離了”如何用MacBook提高工作效率“這個題目了。不過我的目的是沒變的:
更好更快地工作才能有更多時間享受啊。