一年成為Emacs高手(像神一樣使用編輯器)

作者: 陳斌(redguardtoo)

更新時間: 2012-02-10 五

原創時間: 2012-01-31 周二 15:08

很容易.一年多前我還在Vi陣營,偶爾使用Emacs還總是忘記`退出`(C-x C-c)的快捷鍵,但是一年后我跨入高手行列.

現在網上很多中文文章都是和你強調Emacs有多牛,以激發你的興趣.最有名的大概是王垠的Emacs是一種信仰!世界最強編輯器介紹.

這些好文章讓你激動,你因此定下來一個偉大崇高的目標(掌握神一樣的編輯器Emacs),接下來的關鍵就是執行了(如何高效地學習Emacs).

國內關于"如何做"的文章不多,那些涉及到"如何做"的文章,涉及細節比較多,而談一般方法論的較少,所以本文的重點就是談談一般方法,

Table of Contents

  • 1 為什么要學習Emacs(可選)
    • 1.1 和單純的IDE比較,Emacs可以做的更多更快
    • 1.2 使用Emacs可以立刻開始工作.
    • 1.3 一年指的是充分利用空閑時間,一年后自然水到渠成
    • 1.4 態度決定一切
  • 2 讀官方教程
  • 3 以興趣和急需解決的問題作為切入點
  • 4 在twitter上以"emacs :en"定期搜索
  • 5 在google plus上搜索emacs相關內容
  • 6 訂閱Emacs牛人的博客
  • 7 在stackoverflow上搜索emacs相關的討論
  • 8 github是我的新歡
  • 9 使用google快訊
  • 10 將emacs配置管理起來
  • 11 將emacs相關資料管理起來
  • 12 訂閱EmacsWiki
  • 13 到youtube上看emacs相關的視頻
  • 14 站在巨人的肩膀上
  • 15 認識到Emacs是一種生活方式
  • 16 小結

1 為什么要學習Emacs(可選)

簡單談談,因為我本文的重點是"怎么做",而不是"為什么".

1.1 和單純的IDE比較,Emacs可以做的更多更快

這里的更多并不是和IDE比支持某編程語言的特性更多,而是指Emacs內可完成的通用的任務比較多更快捷.

例如,我做開發時碰到難題,需要實時上IRC請教國外高手(工作流包括粘貼我的代碼到pastebin或者gist,在irc內提問,看網頁,將解決方案粘貼回來),emacs集成了IRC工具和瀏覽器(w3m),操作就很方便.

我使用Visual Studio有11年了,Firefox使用我也是高手,相信我,大多數情況下還是Emacs更快.

當然口說無憑,請看以下兩段高手操作的youtube視頻:

  • Writing PPT with org-mode and beamer in Emacs
  • Emacs Power: Can your editor do THIS!

1.2 使用Emacs可以立刻開始工作.

軟件是開源的,配置是純文本,而且軟件的資源消耗較小,安裝包很小(命令行版本的安裝包30M左右),所以在任何環境下我都可以用Emacs開始工作,overhead很小.

這在大項目中特別明顯,例如,某項目我需要同時編輯perl,java,C,bash,SQL,需要遠程編輯在美國服務器上的代碼,網速也不是很快.Emacs的優勢就體現出來了.

1.3 一年指的是充分利用空閑時間,一年后自然水到渠成

我沒有說一年內必須什么事也不干專門學Emacs,懸梁刺股沒有短期利益回報的學習方法是我最反對的.

我贊成的方法是,開始階段花極少的時間得到巨大的回報(如下文談到的Org-mode),以興趣做導向.

每天花多少時間取決于個人需要和如何管理,以我為例,每天八小時上班時間中有很多零碎時間可以利用,上下班通勤時間有一個小時可以利用.

1.4 態度決定一切

長期來說你能取得的成就是由態度決定的.

優秀人士的兩個特點:

  1. 勇于接受新事物
  2. 追求更強的過程本身就是目的;

2 讀官方教程

打開Emacs后,按Alt-x,輸入help-with-tutorial,回車.

第一步,僅需要半小時.關于Emacs的多難學的謬論可以休矣,因為半小時的代價微不足道.想想你去年有多少小時白白虛度了吧.

3 以興趣和急需解決的問題作為切入點

因為如果微小的努力能得到巨大的回報,你就會越學越有樂趣,進入一個感情上的正反饋.

長期來說,在任何領域要成為高手,興趣是最重要的.

以我為例,我急需GTD的工具,emacs的而org-mode是世界上最好的GTD工具(沒有之一).在使用org-mode大大節省了時間后,對于emacs愛屋及烏,興趣高漲了100倍.

4 在twitter上以"emacs :en"定期搜索

twitter人多,更新結果快

5 在google plus上搜索emacs相關內容

google plus技術geek比例高,我推薦Xah Lee,他的個人網站為李殺網. Xah Lee有在googleplus上有兩個賬戶,我建議使用我推薦的帳號.

6 訂閱Emacs牛人的博客

最好的是Planet Emacsen,是多個Emacs博客的集合

7 在stackoverflow上搜索emacs相關的討論

google "emacs-related-keywords site:stackoverflow.com"

我會定期搜索,同樣的帖子反復精讀.因為stackoverflow上的討論質量很高.

8 github是我的新歡

github的版本控制服務很好.現在它的社區化傾向越來越強了,我喜歡.

例如,可以看一下https://github.com/languages/Emacs%20Lisp上最酷的Emacs插件.

9 使用google快訊

每周一次給我郵箱發一次摘要,僅限最佳結果.這樣的話信息質量可以得到保證

10 將emacs配置管理起來

我將emacs配置納入github的版本控制,見https://github.com/redguardtoo/emacs.d.

版本控制可以是認為一個集中式的知識管理,任何時刻任何地點對Emacs配置的修改都要及時上傳和合并(merge).這點對于個人能力的長期積累很重要.

11 將emacs相關資料管理起來

我將我收集的所有Emacs相關資訊都放在dropbox的服務器上,然后用dropbox的軟件同步資料到我的智能手機和我的IPad上,這樣我可以充分利用空閑時間學習.

我目前在讀<An Introduction to Programming in Emacs Lisp by Robert J. Chassell>和<Writing GNU Emacs Extensions by Bob Glickstein>.

請點擊這里注冊dropbox帳號.注意,dropbox客戶端完全可以在國內使用,雖然訪問其首頁可能有點問題.

12 訂閱EmacsWiki

EmacsWiki是一個社區維護的Emacs文檔,可以認為是最酷插件和最佳實踐的集合點.

13 到youtube上看emacs相關的視頻

例如,我就是看了Google Tech Talks上這個Org-mode作者的介紹而愛上org-mode.

14 站在巨人的肩膀上

這方面我是個負面榜樣.開始階段我還是抱著玩的心態,喜歡到處找有趣的配置粘貼到我的.emacs中去.

完全是浪費時間!

我應該一開始就照抄 世界級大師Steve Purcell的emacs配置(注意,支持Emacs23.1及更高版本)

我請求你不要重復我的錯誤,不要質疑,不要創新,跟著Steve Purcell做.

順便說一下,Steve Purcell的配置需要git才能下載,這意味著你需要安裝git和cygwin(限于windows平臺).這是買一送二,我又給你介紹了兩個高手必備的世界級工具.

考慮到我的熱情會被認為是傳銷,而我的嚴密邏輯和事實論證可能被忽視,我有必要簡單明了地說明推崇Steve Purcell原因:

  • 已有很多人推薦他的配置(請google)
  • 能力出眾,背景相當好(我已調查過他的Linkedin Profile)
  • 人近中年,心智相當成熟(例如,他只在Mac下使用Emacs24,但是能夠根據我在Linux/Cygwin下使用Emacs23的需求做調整).
  • 工程經驗相當豐富(看他的代碼一目了然)
  • 勇于求新,不斷再嘗試新插件,在他這個年齡極為突出

以上事實在我給出的網址中稍作調查即可得知.

15 認識到Emacs是一種生活方式

如果你照著我以上的做法做,就可以認識到Emacs牛人其他也很牛.Emacs實際上體現了牛人的一種生活方式.

像那些牛人一樣思考,像那些牛人一樣做事,不要懷疑,不要猶豫,很快你就會發覺自己也開始有些牛人的氣質了.

例如,Sacha Chua就是這樣一個有牛人氣質的女孩,這是她的Youtube錄像.

更直白地說,我認為Emacs不僅僅是一種工具,它可以提升人的素質,讓人學會謙卑.

至少對我而言,當我明白了Emacs的其樸素的設計思想和其強大的功能后,我的感覺是敬畏,因為我做不出這樣的軟件.

我既沒有能力把一個編輯器設計成一個人工智能語言Lisp的平臺,也不可能花30多年的時間對一個軟件精益求精.

16 小結

看到這里你應該很清楚了,我的方法就是以興趣作為切入點,以天才作為榜樣,大量閱讀,大量練習.

如果你想獲得真才實學,想變得更強,變得更優秀,這就是唯一的方法,唯一的捷徑.

這個方法不是我發明的,古往今來的杰出人士都是這么做的,如果你需要一點"更科學的"論證,請參考一萬小時天才理論.


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453245.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453245.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453245.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

七種常見的核酸序列蛋白編碼能力預測工具 | ncRNAs | lncRNA

注&#xff1a;這些工具的應用都是受限的&#xff0c;有些本來就是只能用于預測動物&#xff0c;在使用之前務必用ground truth數據來測試一些。我想預測某一個植物的轉錄本&#xff0c;所以可以拿已經注釋得比較好的擬南芥來測試一下。&#xff08;測試的結果還是比較驚人的&a…

android預覽界面編譯出錯,Android O預覽findViewById編譯錯誤

我試圖測試Android O Developer Preview的第二階段。 項目創建后&#xff0c;我只是點擊了構建并運行但我沒有任何成功。Android默認生成的代碼如下&#xff1a;Toolbar toolbar (Toolbar) findViewById(R.id.toolbar);發生編譯錯誤。Error:(18, 37) error: reference to find…

中斷與異常的區別

中斷&#xff1a; 中斷是CPU&#xff08;硬件&#xff09;所具備的功能 &#xff0c;它是指系統停止當前正在運行的程序而轉向其他服務&#xff0c;可能是因 為優先級高的請求服務了&#xff0c;或者是因為人為安排中斷。中斷是屬于正常現象。主要由CPU以外的事件引起的 中斷…

寒武紀找到了引領中國AI芯片走向世界的路

大約6億年前在地質學上被稱作“寒武紀”的時代&#xff0c;大量無脊椎動物在短時間內出現“生命大爆發”。如今&#xff0c;“寒武紀”這個名字再次被人們提及&#xff0c;它源自中科院計算所研發的人工智能芯片處理器的命名&#xff0c;意喻人工智能即將迎來大爆發的時代。“寒…

淺談PPM (Project Portfolio Management)

前言&#xff1a; 本文以純理論性的PPM講解為主&#xff0c;不會涉及到具體如何實施&#xff0c;我會在以后介紹詳細的PPM實施方案介紹。 PPM&#xff0c;可能很多人并不清楚甚至可能沒聽說過&#xff0c;這是一個近些年才流行起來的概念&#xff0c;是Project Portfolio Mana…

poj 3071 Football

http://poj.org/problem?id3071 2^n 支足球隊比賽&#xff0c;共比n場&#xff0c;第一場1號與2號比&#xff0c;3號與4號比…… 每場勝出者進入下一場&#xff0c;輸者淘汰 每一場都是相鄰的兩個隊伍比拼 已知任意兩個隊伍比拼獲勝的概率 求最后哪只隊伍獲勝的概率最大 dp[i]…

進程調度與作業調度

進程調度是真正讓某個就緒狀態的進程到處理機上運行&#xff0c;而作業調度只是使作業具有了競爭處理機的機會。進程調度&#xff08;又稱微觀調度、低級調度、短程調度&#xff09;&#xff1a; 是按照某種調度算法從就緒狀態的進程中選擇一個進程到處理機上運行。負責進程調…

tensorflow源碼安裝

主要參考&#xff1a;https://www.tensorflow.org/install/install_sources#ConfigureInstallation卸載tensorflow sudo pip uninstall tensorflow 安裝git 安裝git時記得先安裝&#xff0c;后更新系統 sudo apt install git安裝jdk8: myubuntu:~$ java myubun…

Makefile學習之通配符和自動變量

規則中的通配符 “*” &#xff0c;“&#xff1f;” &#xff0c;“ [...]”, " % " , " wildcard " 1.“*” *.c表示所有后綴為.C的文件&#xff1b; 如果文件中用到通配符&#xff0c;使用“\*”; 2.通配符在變量中的使用&#xff1b; objects*.c 注意…

英語中十二個月名稱的由來

轉自網絡&#xff0c;原出處不詳。 公歷一年有12個月&#xff0c;但不少人并不知道12 個月的英語名稱的來歷。公歷起源于古羅馬歷法。羅馬的英語原來只有10 個月&#xff0c;古羅馬皇帝決定增加兩個月放在年尾&#xff0c;后來朱里斯*凱撒大帝把這兩個月移到年初&#xff0c;…

進程和程序的關系

1 進程是一個動態概念&#xff0c;而程序是一個靜態概念。 2 進程具有并行特征&#xff0c;程序沒有。 3 進程是競爭資源的基本單位。 4 一個程序對應多個進程&#xff0c;一個進程為多個程序服務。

Android怎么插手機卡,魅藍E手機卡怎么裝 魅藍E手機SIM卡安裝圖文教程

昨天下午&#xff0c;魅族發布了全新系列魅藍手機——魅藍E&#xff0c;定位魅藍高端產品線&#xff0c;售價1299元&#xff0c;李楠號稱魅藍E采用三四千元的旗艦機工藝&#xff0c;外觀/屏幕/拍照提升明顯。此外&#xff0c;魅藍E依舊支持全網通雙卡雙待。那么魅藍E怎么插卡/裝…

快速冪總結

快速冪總結 快速冪這個東西比較好理解&#xff0c;但實現起來到不老好辦&#xff0c;記了幾次老是忘&#xff0c;今天把它系統的總結一下防止忘記。 首先&#xff0c;快速冪的目的就是做到快速求冪&#xff0c;假設我們要求a^b,按照樸素算法就是把a連乘b次&#xff0c;這樣一來…

第三章

一.項目前期的主要工作 1.現狀分析 ①.硬件分析 ②.軟件分析 2.需求收集 3.粗略設計 ①.體系結構分析 ②.硬件&#xff08;網絡&#xff09;設計 ③.應用系統設計 ④.安全設計 ⑤.配套設計 4.可行性分析 二.結構的項目前期實例 1.組織分析 3.需求收集 4.粗略設計 ①.系統體系結…

進程的靜止和活動狀態

進程有3個主要狀態&#xff0c;即就緒&#xff0c;執行和等待。當一個進程被創建的時候&#xff0c;處于就緒狀態&#xff0c;嚴格地說是靜止就緒狀態&#xff0c;等到被激活&#xff0c;該進程就處于活動就緒狀態&#xff0c;如果時間片輪到該進程&#xff0c;那么該進程就執行…

榮耀magic3會用鴻蒙,趙明:榮耀Magic3芯片領先行業,大家看到以后會換掉手機!...

榮耀CEO趙明親自參加高通2021技術峰會&#xff0c;宣布與高通達成戰略合作&#xff0c;未來全系產品采用高通平臺。趙明同時透露未來的產品動向&#xff0c;不排除未來與華為繼續合作&#xff0c;采用鴻蒙操作系統的可能。趙明表示&#xff0c;Android操作系統依舊是榮耀的首選…

公司里從員工到經理,不同層級應該關注的事情

最近在看《領導梯隊》&#xff0c;超級棒的一本書&#xff0c;受益匪淺&#xff0c;推薦給各位從事管理方向的朋友 第一階段&#xff1a;從管理自我到管理他人&#xff08;leader級&#xff09;   新員工工作的最初幾年是個人貢獻者。無論他們從事的是銷售、會計、工程或是市…

繼續教育學習腳本

/* 本腳本運行于瀏覽器conlose中&#xff0c;自動點擊“繼續學習”按鈕&#xff0c;以實現阻止視頻的暫停 */ (function(){ var getStylefunction(obj,styleName){ if(obj.style){ return obj.style[styleName]; }else if(obj.currentStyle){ …

三周第三次課 3.7 su命令 3.8 sudo命令 3.9 限制root遠程登錄

3.7 su命令1、su命令su命令是用來切換用戶的&#xff1b;su命令需要使用- 進行切換&#xff0c;如果不使用- 也可以&#xff0c;但當前目錄是在root下&#xff0c;沒有徹底切換在root下 使用su命令創建文件&#xff0c;以指定用戶的身份創建文件切換后顯示-bash-4.2因為user5的…

js中加載指定的html代碼,在js或JQuery中怎樣判斷頁面html代碼中含有指定名稱的div元素...

在我們制作網頁的過程中&#xff0c;想要在某個頁面中的某一元素中添加新的內容&#xff0c;而不想改動那個頁面,我們一般會直接在全局的jsz中直接加入document.getElementById("指定id")來給定指定元素新的內容,但在一些頁面中沒有指定id的div元素瀏覽器就會報錯&am…