iT邦幫忙

2

[EMACS新思維 第一天] 關於 EMACS 新思維

  • 分享至 

  • twitterImage
  •  

評論陳斌前輩對新手學習 EMACS 的建議文章,並介紹新思維的目的與大略學習流程:

  1. 套件管理
  2. 指令呼叫
  3. Elisp 的使用
    讓我們從閱讀這篇文章開始:

《一年成为emacs高手(像神一样使用编辑器)》

這大約是 Emacs 中文使用者中予新手的幾篇重量級入門概念文章之一。其中大部分的觀點我都認同,比方說下列幾點:

  1. 讀官方教程(C-h t)
  2. 不要背誦快捷鍵
  3. 以興趣和急需解決的問題做切入點
  4. 加入 Emacs 社區(如:Google+ 上的國際 Emacs 社群)

唯一一個爭議點,也是這篇文章之所以飽受其他 Emacser 評論的點,在於他指出,必須「站在巨人的肩膀上」,也就是直接 clone 以然達到大師等級的配置來用。他推荐的是 Steve Purcell 的配置(請直接看陳斌前輩文章中介紹),或者他本人的配置。

首先,我不推荐直接採用他人的配置。理由有二:

  1. 如果其配置龐大而且沒有對應的詳細說明文檔,將會不知道有哪些功能可以選擇?哪些預設功能被改動?(快捷鍵或函數被 defadvice 了)。這點也是沒辦法的事:我自己的配置,我還要為他寫說明文件?

  2. 配置往往不合我實際需要:例如,Steve Purcell 不使用 gnus 看郵件列表,也不寫 scheme 程式(他的設定檔有提供,但是是拿 lisp-mode 的通用設定來套用),也不使用 dired-mode 來取代日常檔案管理員的工作(我可以在 Emacs 內用調用外部程式開啟檔案)。因此,我還得額外找配置,這又有點類似在巨大建築外面改建,問題重重。

這裡其實帶出了中文 Emacs 各種教學、套件介紹等一個缺失的環節,一個重要的環節。在看完 C-h t 的入門文檔之後,接下來呢?要做些什麼呢?

因此,我這裡打算開始一項比較長期的教程計劃(在此,即是 IT 鐵人賽),也就是從 Basic tutorial 「之後」開始,描述你應該怎樣打造自己的 Emacs,讓它能夠貼近、滿足你工作上的需求。整體的學習順序大概如下:

  1. 了解 Emacs 的包管理(package management)。這是我從朋友 Carl Su 那邊得到的概念。就好像安裝好了一個新的 Linux 發行版,第一要學的就是海量軟體的安裝方式 (apt / yum / pacman 等等),而 Emacs 也是同樣的道理。

  2. Ido / Smex 的設定。 Emacs 有非常多的按鍵組合,實際上這些按鍵對應到的是背後執行這些功能的「elisp 函數」。在還不熟悉之前,建議採用 smex 來調用這些函數。由於它會自動提示你該函數的按鍵組合,若真的是常用的指令,再把他的按鍵組合背起來即可。(Emacs 不需要 cheat-sheet)

  3. Elisp 設定檔的結構與撰寫方式。不要把所有設定通通丟到.emacs裏面,這是最要不得的早期教學錯誤!(同時指出,對於零散的小設定(如 ErgoEmacs 裏面常見的教學)要如何處理比較妥當。)

差不多就是這樣了。最後我要講:若是仍覺得陳斌前輩講的話很有道理(「直说了把,你是初学者,开始阶段应以学习模仿为主.这点怎么强调也不过分!」),我改推荐你使用 Prelude 來取代 Steve Purcell 的設定!Prelude 的文檔比較詳細,額外的功能改善也不少。重要的是,作者常常寫部落格文章來介紹他裏面的程式碼及為什麼!

參考 Prelude:
Prelude in Github
Emacs Redux


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
逮丸逮丸
iT邦大師 1 級 ‧ 2013-10-13 23:24:26

印象裡emacs號稱在 *nix上的所有工作,
都可以在這編輯器的環境裡進行,
結果emacs入門了好幾次,
卻還是用 vim;
有這主題的系列又可好好再學習了。
會介紹 org mode 嗎?
好像很神奇的樣子…

haroldwu iT邦新手 4 級 ‧ 2013-10-14 19:48:59 檢舉

會唷,可是是大概後面23天以後了:P

另,文章略亂,會在後面統整好方便大家看

0
Fat Finger ERR!
iT邦新手 5 級 ‧ 2016-12-20 00:19:06

我不推荐直接採用他人的配置
...
乾真的!!!我套用別人配置之後就什麼都不會了 QQ....

haroldwu iT邦新手 4 級 ‧ 2016-12-20 19:33:30 檢舉

要套用也套用有詳細說明的 QQ

0
O口O
iT邦新手 4 級 ‧ 2022-01-16 15:06:07

C-h怎麼按?

akin520 iT邦新手 5 級 ‧ 2022-09-02 17:22:17 檢舉

crtl + h

我要留言

立即登入留言