用Emacs的這些年


讀技術博客時發現又有人提起我曾寫的那篇口水文章 為何Emacs和Vim被稱為兩大神器。寫那篇文章時,我還在Vim和Emacs之間搖擺。當然主要在用vim,博士學位論文和所有的國際會議文章都是用Vim編輯,latex編譯生成的。

從寫文到現在,快8年時間了,這八年時間我一直在用Emacs,只有在沒有Emacs的環境下才會用vim或者vi。我是怎么從Vim轉投Emacs陣營的呢?

寫那篇水文的時候,還沒有結束博士學業。寫文后不久就奔赴工作崗位了。在單位需要做一個java項目,和別人一起,所以隨大流地用了Eclipse。用Eclipse時一直用它的Emacs鍵綁定,結果項目一期結束時,我對Emacs按鍵很熟了。所以很自然地就用起Emacs了,狠心地拋棄Vim。就像當初學會了雙拼輸入,狠心地拋棄五筆一樣。

后來再做java項目,我自己能做主,就沒再用Eclipse,全部用Emacs完成。要什么對象成員提示,有javadoc就足夠了。IDE中的提示只會讓懶人不求甚解,看javadoc才能看到類的繼承層次、接口的詳細說明。因為在單位連接互聯網不方便,這種情況用Maven構建項目是不適合的。於是我就動手寫了一個針對java項目的通用makefile。當然這也是一個半成品,不能解決代碼間循環依賴的問題。但對我自己來說夠用了。這就是我的優點,不難為別人也不難為自己,遇到困難就含糊過去了,當然也是個缺點。

后來我去了做國產操作系統的公司,大家都在Linux環境下開發,我對Emacs更是愛不釋手。代碼、文檔、日記都在Emacs中寫,還用Emacs org模式寫寫我那些不能發表的小說。這段時間,Emacs寫了不少python代碼,也寫了一些c代碼,完全沒有壓力。

再后來,去一家公司做了半年NLP,訓練機器翻譯的模型,部署機器翻譯的服務,這段時間用Emacs寫了幾個用maven管理的java項目,也寫了一些python程序。TDD(測試驅動開發)幫了我不小的忙。

今年,走人才引進的路子,我又跑到高校來了。現在覺得編程沒問題,寫論文成為比較困難的事情了。這些天一直在找方向。計算機圖形學的論文都很漂亮,但是這玩意兒似乎太難了。讓我用SDL和OpenGL寫個二維三維動畫和小游戲什么的還可以,去改進算法實現,對我這數學渣來說,恐怕難為我了。機器學習大熱,雖然也打下點基礎了,可不是熱情所在。再說就是做機器學習,也得先定個領域啊。按我的知識結構和熱情所在,我想玩玩嵌入式操作系統,想寫寫嵌入式OS。但這東西似乎不好發文章啊,想灌個SCI一區二區的水,太不容易,想灌個三區四區的水,還得往物聯網上靠才行。現在是摩拳擦掌想煮米,但還沒有找到鍋。

有點跑題了,還是說回Emacs和Vim吧。我覺得最終投奔Emacs還是投奔vim,和性格有關。我用Vim時,覺得心不靜,用Emacs卻有心靜如水的感覺。雖然Emacs按鍵繁瑣一些,都是key chain,但架不住你愛她啊。

不用糾結用Emacs的人少,用Vim的人多,Sublime的UI更友好等這類問題,都是shit。用Vim的人雖多,其中很多人都是像用windows記事本一樣在操作光標呢,所以他們覺得vim還沒有windows notepad好用。

還有,不要糾結Emacs代碼補全不好用什么的,別人只是一個編輯器,你為什么要用IDE的標准來要求它呢?讓我用IDE我還不習慣呢,上半年在公司時,同事讓我用intellij idea,這號稱最好的java IDE老偷偷摸摸在后台建索引占用我的CPU資源,我敲字的時候,老彈出補全候選項,干擾我的思路。還有寫個scala文件,只要有main入口,你右鍵一點就能運行了,憑什么?你憑什么替我做這些工作,我不知道你給java命令行傳遞了哪些參數,你只會讓我變懶,讓我依賴你。我寫了測試用例,用mvn test,照樣能測試我的程序,為什么用你呢?

果斷刪除,我就要用Emacs和mvn命令行來做項目,我就要裝逼,就是這么任性。再說我又沒耽誤工作。

用什么工具來做事,也是個性使然吧,就像我喜歡開手動檔汽車,不喜歡開自動檔汽車一樣。

現在和八年前相比,我有什么長進呢?八年前我還和師兄弟打DOTA,現在不碰游戲了。時光一去用不會,往事只能回味,浪費的時間永遠追不回了。就像我東搞搞西搞搞,頻繁地換工作,到現在不可能再有大的做為了,只能安心做個平凡人了。

打游戲浪費時間,折騰工作環境也是浪費時間。我現在也很少折騰Linux環境了。環境折騰得再標新立異,也不代表你水平多高。把做正事的時間擠沒了,有什么用。這都是很浪費時間的事情。上次我升級了一下自己的ArchLinux,結果無線網卡怎么也支持不了,自己編譯的無線模塊也加載不了。果斷回滾到我升級之前的狀態。這樣又可以工作了。換作過去,我非得花個一兩天時間把這個問題解決了。這就是說,年紀大了,玩不起了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM