評論陳斌前輩對新手學習 EMACS 的建議文章,並介紹新思維的目的與大略學習流程:
這大約是 Emacs 中文使用者中予新手的幾篇重量級入門概念文章之一。其中大部分的觀點我都認同,比方說下列幾點:
唯一一個爭議點,也是這篇文章之所以飽受其他 Emacser 評論的點,在於他指出,必須「站在巨人的肩膀上」,也就是直接 clone 以然達到大師等級的配置來用。他推荐的是 Steve Purcell 的配置(請直接看陳斌前輩文章中介紹),或者他本人的配置。
首先,我不推荐直接採用他人的配置。理由有二:
如果其配置龐大而且沒有對應的詳細說明文檔,將會不知道有哪些功能可以選擇?哪些預設功能被改動?(快捷鍵或函數被 defadvice 了)。這點也是沒辦法的事:我自己的配置,我還要為他寫說明文件?
配置往往不合我實際需要:例如,Steve Purcell 不使用 gnus 看郵件列表,也不寫 scheme 程式(他的設定檔有提供,但是是拿 lisp-mode 的通用設定來套用),也不使用 dired-mode 來取代日常檔案管理員的工作(我可以在 Emacs 內用調用外部程式開啟檔案)。因此,我還得額外找配置,這又有點類似在巨大建築外面改建,問題重重。
這裡其實帶出了中文 Emacs 各種教學、套件介紹等一個缺失的環節,一個重要的環節。在看完 C-h t 的入門文檔之後,接下來呢?要做些什麼呢?
因此,我這裡打算開始一項比較長期的教程計劃(在此,即是 IT 鐵人賽),也就是從 Basic tutorial 「之後」開始,描述你應該怎樣打造自己的 Emacs,讓它能夠貼近、滿足你工作上的需求。整體的學習順序大概如下:
了解 Emacs 的包管理(package management)。這是我從朋友 Carl Su 那邊得到的概念。就好像安裝好了一個新的 Linux 發行版,第一要學的就是海量軟體的安裝方式 (apt / yum / pacman 等等),而 Emacs 也是同樣的道理。
Ido / Smex 的設定。 Emacs 有非常多的按鍵組合,實際上這些按鍵對應到的是背後執行這些功能的「elisp 函數」。在還不熟悉之前,建議採用 smex 來調用這些函數。由於它會自動提示你該函數的按鍵組合,若真的是常用的指令,再把他的按鍵組合背起來即可。(Emacs 不需要 cheat-sheet)
Elisp 設定檔的結構與撰寫方式。不要把所有設定通通丟到.emacs裏面,這是最要不得的早期教學錯誤!(同時指出,對於零散的小設定(如 ErgoEmacs 裏面常見的教學)要如何處理比較妥當。)
差不多就是這樣了。最後我要講:若是仍覺得陳斌前輩講的話很有道理(「直说了把,你是初学者,开始阶段应以学习模仿为主.这点怎么强调也不过分!」),我改推荐你使用 Prelude 來取代 Steve Purcell 的設定!Prelude 的文檔比較詳細,額外的功能改善也不少。重要的是,作者常常寫部落格文章來介紹他裏面的程式碼及為什麼!
參考 Prelude:
Prelude in Github
Emacs Redux
印象裡emacs號稱在 *nix上的所有工作,
都可以在這編輯器的環境裡進行,
結果emacs入門了好幾次,
卻還是用 vim;
有這主題的系列又可好好再學習了。
會介紹 org mode 嗎?
好像很神奇的樣子…
會唷,可是是大概後面23天以後了:P
另,文章略亂,會在後面統整好方便大家看
我不推荐直接採用他人的配置
...
乾真的!!!我套用別人配置之後就什麼都不會了 QQ....
要套用也套用有詳細說明的 QQ