核心概念#
我們之前說過工具是手的延伸,這點應用到編輯器比任何其他軟體工具都更為貼切。你需要能夠盡可能毫不費力地操作文字,因為文字是程式設計的基本原始材料。
在本書第一版中,作者建議所有事情只用一個編輯器。現在他們軟化了這個立場——你可以愛用多少編輯器就用多少,只要你在每一個上都追求流暢度。
Tip 27 - Achieve Editor Fluency(達到編輯器流暢度)
為何這很重要?#
表面上看,是省時間:一年下來,如果讓你的編輯效率只提升 4%,每週編輯 20 小時,你可能會多出一整週。
但真正的好處不在此。真正的收穫是:當你達到流暢時,你不再需要思考編輯的機制。思考某件事和看到它出現在編輯器緩衝區之間的距離大幅縮短。你的思維會更流暢,程式設計也會受益。(這就像教人開車——新手必須思考每個動作,而有經驗的駕駛是本能地控制車輛。)
什麼是「流暢」?#
以下是檢驗清單:
- 編輯文字時,按字元、單字、行和段落移動和選取
- 編輯程式碼時,按各種語法單元移動(匹配的分隔符、函數、模組等)
- 修改後重新縮排程式碼
- 用單一命令註解和取消註解程式碼區塊
- 復原和重做變更
- 將編輯器視窗分割為多個面板並在它們之間導覽
- 跳轉到特定行號
- 排序選取的行
- 搜尋字串和正規表達式,並重複搜尋
- 建立臨時多游標(基於選取或模式匹配),平行編輯文字
- 顯示當前專案的編譯錯誤
- 執行當前專案的測試
你能在不使用滑鼠/觸控板的情況下完成所有這些嗎?
邁向流暢#
作者不期望你知道任何特定強大編輯器的所有命令。他們建議更務實的方法:學習讓你生活更輕鬆的命令。
方法很簡單:
- 觀察自己——每當你發現自己在做重複的事情,養成「一定有更好的方法」的思維習慣。然後去找到它
- 植入肌肉記憶——發現新的有用功能後,刻意尋找機會使用它,一天使用很多次。大約一週後,你就能不假思索地使用它
- 擴展你的編輯器——遇到限制時,搜尋擴展套件。更進一步,學習編輯器的擴展語言來自動化重複性工作
相關章節#
- Topic 7,溝通