一個Emacs程序員的一天
Emacs被稱為神之編輯器,用起來感覺是什么樣子呢?我們來看看一個Emacs程序員的一天。
鬧鈴響了, 周一真不想上班, 可是想想那幾十年的房貸,瞬間充滿斗志,我骨碌一下就爬了起來。
9點半就到了公司,居然沒多少人,周日加班的那幫家伙估計還沒起床。
打開電腦,啟動心愛的Emacs。這才想起了昨天晚上微信群里的一場口水戰,居然有人噴Emacs, 他們是中IDE的毒太深了,體會不到Emacs的美。
我承認,IDEA, Eclipse在Java領域做得很好,但是這個世界上還有很多別的語言啊,比如我現在開發的是Elixir項目,上哪兒去找像IDEA, VS那樣的IDE?更不用說那么多小眾語言了。
好的開始是成功的一半, 先規劃一下今天的工作吧, 進入Emacs org-mode , 把今天要做的任務整成ToDo列表。
可能有人會覺得奇怪,怎么在編輯器里搞ToDo啊?這也正是Emacs強悍的地方,不僅僅是寫代碼,有很多非常優秀的插件,能完成各種各樣的事情。
打開文件, 開始編程, 代碼導航,代碼格式化,跳轉,多光標編輯,補全,模板等等等等你能想到的想不到的,Emacs 統統能滿足。
如果有特殊需求,我就自己去定制,去修改插件,你沒看錯,Emacs的插件源碼都是開放的, 我能找到那個地方,覆蓋它,實現新的功能,這樣我就不用祈禱著IDE下一版本升級包含這個特殊需求了。
我的地盤我還做不了主,還得看別人眼色?笑話!當然, 你得會一點兒Lisp,因為Emacs中絕大部分插件和配置文件,都是用Emacs Lisp寫的。
昨天的微信群中有人擔心只用鍵盤,快捷鍵太多記不住啊。其實我也記不住啊,我只能記得住高頻使用的那些,以及自定義的順手的那些,剩下的都交給模糊補全啦,只要輸入幾個零星的字母就好。而且 Emacs 自帶的幫助文檔非常全,遇到不會的直接問 Emacs 就好啦。
寫完了代碼,肯定要提交啊,是時候祭出magit這個大殺器了, the magical Git interface, 可以快速、方便、直觀地操作Git。
可能有人要問了,這些功能我的IDE也有啊, 還是GUI的,很漂亮哦 !
其實Emacs比鍵鼠操作的GUI好在它允許你用同一種方式,操作不同的東西,所以使用Emacs就有一種流暢的感覺。 編輯,查找,光標定位,撤銷代碼,格式化代碼,多文件,多窗口,git,commit,blame,歷史回溯,代碼片段。這些用熟練是一個整體的感覺。
提升效率的核心還是編輯本身非常流暢,編輯流暢思路才能流暢,不是嗎?
我這么說估計你也體會不到,還有可能被別人說成是裝逼,懂我的自然懂,不懂的自然不懂,不再解釋了。
一口氣寫了兩個小時的代碼,遇到一個技術問題,Google 一下,嗯,這個解決方案不錯,以后用得著, 用Org Capture 把它記錄到筆記中。
領導走過來布置了一個任務,不太緊急, 用Org Capture記錄到我的Todo中, 下午再做,別把我當前的編程思路給打斷了。
中午吃飯的時候,張大胖說Java之父高司令和自由軟件領袖/GNU Emacs作者/GCC作者Richard Matthew Stallman (RMS)撕起來了,說高司令撕RMS是因為RMS偷了他的Emacs代碼。
張大胖看我的眼神中透漏著一絲狡黠,那廝似乎在嘲笑我用的Emacs是偷來的.....
唉,這其實已經成為一個懸案了,我都懶得搭理他,我決定一周內不在碼農翻身上回答他任何技術問題,以示懲罰。
下午的時候就沒有那么高效率了,開了上一個迭代的總結會,又開了下一個迭代的計劃會,還有接口協調會,更要命的是生產環境出了一個Bug,花了兩個小時才定位修復 ......
轉眼就是6點45,我Emacs中的Todo列表不降反增, 晚上加班不可避免。
唉, 再好的工具也搞不定這么多的工作量啊。
吃完晚飯, 偷一會兒懶,用Emacs看一會兒小說, 然后再和用Emacs的好友們聊一會兒,Emacs社區牛人太多,那些真正的黑客們都用Emacs, 社區氛圍極好, 能學習的東西太多了。
晚上10點,下班回家,用Emacs寫下這篇文章,以示紀念。
【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】