自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Emacs初學者必看

運維 系統(tǒng)運維
emacs是一個可擴展,可定制的文本編輯器,但是遠遠不止于此.我覺得:emacs是一個具有超強擴展性,超強定制性的操作平臺.當你不滿意emacs時,你可以任意的擴展和定制它.我經(jīng)常在寫程序的時候,發(fā)現(xiàn)不滿意的地方,就停下來定制它.總之,emacs是“只有你想不到的,沒有我做不到的?!?/div>

Emacs是什么

首先,我想你應該要知道emacs是什么,emacs是一個可擴展,可定制的文本編輯器,但是遠遠不止于此.我覺得:emacs是一個具有超強擴展性,超強定制性的操作平臺.當你不滿意emacs時,你可以任意的擴展和定制它.我經(jīng)常在寫程序的時候,發(fā)現(xiàn)不滿意的地方,就停下來定制它.總之,emacs是“只有你想不到的,沒有我做不到的。”

Emacs初學者必看

為啥要學Emacs

1.趕時髦

那我勸你還是別學了,學Emacs可趕不起時髦,用Emacs的人可少了.我呆過的三個公司,都是在linux下做開發(fā)的,但每個公司都只有2,3個人用.我一個同事告訴我,他認識的人中只有我一個人用Emacs.而且你不但趕不起時髦,還很有可能被人”鄙視”.我曾經(jīng)向一位朋友推薦Emacs,說Emacs是一款非常強大的工具.他使用了后,告訴我,Emacs太土了,刪之.看來從古到今,相貌永遠起著不小的作用.我還有一個同事,問我用什么工具開發(fā),我說用Emacs,他說,太土了,遠古時期的工具,用Eclipse吧.我當時只有一種感覺,我比竇娥還冤.本曾想他夸我一句,“Youarecool!”,沒曾想,…,傷心往事.

2.裝酷

嗯,首先得承認在這個大環(huán)境中,用Emacs確實很酷.在這個菜單很少,鼠標動作很少,沒有漂亮的界面,只有一個黑乎乎的文本框的軟件里,完全用鍵盤操作,多酷多拉風啊.可是,酷雖酷,可不是一時半會能學會的,得花時間去學,得有毅力,如果你沒有這個毅力的話,就此打住.

3.想在特定語言的功能方面超過特定IDE

比如,你想在java語言方面,針對java的特有的功能這一方面,你想使用Emacs超過Eclipse,那Emacs不太適合你.Emacs的年齡很大,比我們這些年輕人的年齡都要大,好多高級功能,比如Eclipse的代碼重構,它就沒有.一般IDE都有的代碼補全,代碼瀏覽,Emacs在這方面也做的不是很好,當然這些方面,都會有的,因為Emacs的擴展性實在是太強大了,任何人都可以擴展它,那些功能只要用戶需求大,最終會有人寫的.既然這樣,那么Emacs的強項到底在哪里呢?

Emacs的強項

1.無限的定制性

蘿卜青菜,各有所愛.人與人之間的習慣差別太大了.一款工具怎么能適用所有人?那可定制性是必不可少了.Emacs在這方面做的非常出色.你可以對任何選項進行定制,你可以定制任何按鍵,你可以。。。.

2.無限的擴展性

如果你使用了一款擴展性不強的軟件,如果沒有別的軟件中某個特別好用的功能,那么你只有期望軟件作者能為你開發(fā)這一功能了.如果用戶都希望有這個功能的話,也許你不用等多久作者就為用戶開發(fā)了那個功能了.但是如果只是一個你覺得好用的功能呢?那怎么辦?恐怕作者不大可能為某個特定用戶開發(fā)特定的功能.這時候,擴展性顯得多么重要.Emacs在這方面也做的非常出色.它以強大的Elisp語言作為擴展語言,擴展性遠遠超過幾乎任何一款軟件(包括vim).

Emacs適合哪些人

1.有區(qū)別于別人的使用習慣,有一些自己的,軟件作者不會幫你實現(xiàn)的需求的人

2.喜歡追求高效率操作的人.如果你喜歡用鼠標點來點去,如果你喜歡按那些難用的功能鍵,那就不用再看了,Emacs不太適合你.

3.喜歡折騰的人.用Emacs是需要折騰精神的,如果你是一個懶人,不太想折騰,恐怕Emacs不適合你,想用Emacs不折騰,不大可能.

在什么操作系統(tǒng)下使用Emacs

Emacs支持眾多的操作系統(tǒng),Windows也在其中,但是如果想發(fā)揮Emacs的巨大威力的話,建議你還是不要在Windows下使用Emacs,說的不好聽點,在Windows下使用Emacs一是折磨你自己,二是糟蹋Emacs,因為Emacs用到好多第三方的工具,比如w3m,在*nix下安裝都非常方便,在Windows下都比較麻煩,而且有的工具干脆就沒有Windows版本.我見到好多Emacs的初學者,由于不熟練*nix,選擇在Windows下折騰Emacs,什么HOME問題,什么字體問題啊,簡直就是折騰不完的問題.要是真的想學好Emacs的話,必須要學好*nix,而且這么好的操作系統(tǒng),熟練使用它也是一件幸事.

從哪開始

如果你能通過上面幾條,恭喜你,你可以開始你的Emacs之旅了.

那么到底怎么學習Emacs呢?我覺得剛開始學習Emacs的時候,應該先了解一下Emacs的一些基本概念和基本知識(畢竟Emacs和其他的IDE的一些概念和理念是不同的),比如,Emacs的buffer,window,frame,mode,Isearch.知道這些最基礎的概念之后,應該再學習一下最基本的定制知識,比如綁定快捷鍵啊,定制選項啊,還有看文檔的方法,Emacs中的文檔有函數(shù)自己的文檔,還有強大的info系統(tǒng).關于這些基礎知識,我推薦你去看《學習GNUEmacs》(中文版,英文版)這本書,非常適合初學者.不過如果你想要快速入門的話,可以看Emacs快速指南,打開Emacs后,按C-ht即可,這是Emacs內置的文檔,有中文版.筆者還寫過一篇介紹這方面基礎知識的文章,Emacs初學者必知必會,感興趣的讀者也可去看看.

Emacs的考驗

你現(xiàn)在是不是有點不想學Emacs了?為啥?

1.按鍵難按

太冤枉Emacs了,Emacs的按鍵是***按的,你***先把你的Control鍵和Capslock鍵交換一下。

最常用的是兩個鍵的按鍵,分別為Control和Alt鍵開頭的,其次是四個按鍵中的有兩個按鍵為Control鍵的,為啥四個按鍵比三個按鍵還好按?比如C-xC-c,這個是Emacs的退出鍵,當你按C-xC-c的時候,不需要先按C-x,然后手拿起來,再按C-c,這樣按當然難按,你應該在按完C-x后,按Control鍵的那個手指不需要厲離開只需要用另外一個手指去按c就行了,是不是只相當于按了三個按鍵?你現(xiàn)在試試,是不是更好按了些?你再多試幾次,是不是非常方便?是不是比兩個鍵的按鍵差不到哪去?

Emacs的按鍵設置的非常合理,默認的按鍵離鍵盤中心都很近,手指基本不需要離開鍵盤區(qū),比windows下的按鍵不知道要好按多少倍,windows下的快捷鍵基本都是Control,Shift,功能鍵組合,須不知功能鍵離鍵盤中心那么遠,多難按阿。

個人覺得Emacs的按鍵也比vim的按鍵設置的合理,雖然vim的按鍵非常短,但是都是特別難按。比如回到行尾的$,回到***個非空白字符的^,還有刪除一個單詞dw,試想阿,你如果想刪除一系列單詞怎么辦?難道先要數(shù)數(shù)要刪除多少個單詞?然后用dNw?太慢了。要么就dw,dw,dw,。。。,按N次,這樣就需要按2N次鍵,但是在Emacs下刪除一個單詞是M-d,你只需要按著Alt鍵一直不放,然后不停的按d就可以了,僅需要按N+1次鍵,方便之極。諸如此類的還有很多。所以如果你僅因為vim按鍵比較短,而轉去學vim的話,趁早回頭是岸吧,不要被短的按鍵迷惑了。我一個同事就這樣被我從vim陣營拉過來了,:)

其實上面所說的vim按鍵的那個問題,可以通過”.”來***的解決.但是其他的問題,可能就稍微麻煩了點,比如vim編輯的時候要不停的在編輯模式和命令模式來回切換,當然可以通過映射來做到不切換,但是映射的鍵太多,而且映射完,按鍵也基本和Emacs的差不多了,

2.平時工作太忙,沒時間學,以后有空再學

別再有這種想法了,你會永遠沒空.明日復明日,明日何其多啊.你什么時候工作會閑下來?公司辭退你的時候嗎?我認識中的人中,好多人一開始都對Emacs挺感興趣的,***都是因為沒時間,與Emacs無緣.現(xiàn)在的人,有哪個不忙?時間就像***(此處已被宇宙***帝國FFF工程抹去數(shù)字,詳情請致電FFF工程總部熱線444-54545444),擠擠總會有的.要是真想學Emacs的話,要加班去學Emacs.等了解完Emacs的基本概念和基礎知識后,要在工作中去用Emacs,不用Emacs你永遠也學不會Emacs.在用的過程中,碰到問題,晚上再繼續(xù)學.長此以往,豈有不熟之理.我都是靠晚上加班來學Emacs的.

如果你真的想學Emacs的話,不要再找借口了.一失足成千古恨,再回首已百年身啊.趁年輕喜歡折騰,多折騰折騰,不要等到老來少年之狂已成往事之時,追悔莫及啊.我以前的一個同事,他以前的公司同事都用vim,所以也用vim,自從我向他介紹了Emacs后,開始學Emacs,一開始也沒覺得好用,但是他堅持下來了,越用越好用,最終覺得Emacs太好用了。他是***個我傳道Emacs成功的對象,:)。

其實學習Emacs是有捷徑的,那就是天天用。一定要堅持用,不要說你工作中用不到Emacs,不可能,Emacs啥都能干,開發(fā),文本編輯,日程安排,收發(fā)郵件等等,你說你會用不到?你這些都還沒熟悉?沒關系,邊學邊用就是了,堅持下去,你就會發(fā)現(xiàn)用的越來越順手,越來越喜歡用,這時候你就成功了。

Emacs進階

當你掌握了上述的基本概念和基礎知識后,恭喜你,你將開始初學者的第二個階段.

接下來,你可以去網(wǎng)上找一些牛人的配置來看看,比如王垠(清華的退學博士,很佩服),葉文斌(他的主頁不在了,我備份了一份),王純業(yè)(他的主頁也不在了),pluskid(浙大的牛人,yasnippet的作者).我剛開始學Emacs的時候,基本上也是看他們的配置.看到別人的配置中比較有意思的地方,你再拷貝到你的配置中,這樣看多了,你就慢慢熟悉Emacs了.但是我建議不要直接拿別人的配置文件來使用,畢竟別人的配置是別人的,它包括了別人的使用習慣,不一定適合你.我的配置中就改了一些Emacs基本的快捷鍵,比如`C-k’我改成了刪除一行,而不是刪除光標到行尾,這也許不適合你.當然我對于那些盡量能提供給別人的配置我是單獨拿出來做成一個包的,比如我的顏色主題color-theme-ahei,還有dired-lis(這是一個使得你在dired中直接輸入字母跳到對應文件的包,就像TotalCommander中那樣,非常的好用).你可以去直接使用這些包,再經(jīng)過你自己的配置,就為你所用了.

初學者在配置Emacs的過程中,我相信經(jīng)常會遇到加了某個配置后,以前某個能用的功能現(xiàn)在不能用了,不用著急,我有三條妙計為你排憂解難:

1.當你的配置出現(xiàn)問題時,在Emacs啟動命令后增加參數(shù)”–debug-init”,這樣啟動后,如果配置出錯,Emacs會報出具體出錯的位置,這樣你就可以很容易定位問題了.

2.上述加參數(shù)的方法,只適用于你的配置使得Emacs啟動出現(xiàn)錯誤,但是如果Emacs啟動沒有出現(xiàn)錯誤,但是你需要的某個功能就是不能正常使用該怎么辦呢?很簡單,把你的配置用版本控制工具管理起來,我的配置DEA就用svn管理起來,記住,用版本控制工具的時候,一定要記得寫日志,方便以后出問題的時候,容易找出問題,我接觸的人中,好多人都沒有寫日志的習慣.當你現(xiàn)在的版本出現(xiàn)問題時,你可以看看以前的版本有沒有問題,找到一個沒有問題的版本,然后再用現(xiàn)在的版本和以前的版本比較一下,看是修改了哪些配置,然后再在這些配置上集中找問題.

3.如果你嫌版本控制麻煩,或者出問題的版本和不出問題的版本之間的差別很大的話,還有一種方法.排除法!即不管你有多少條配置語句,我一個一個的排除,我先去掉***條語句,看有沒有問題了,沒有啦?恭喜你啦,你試一次就試出來了.還有?也不用擔心,繼續(xù)試.你是不是覺得我這個方法似乎太傻了,對于幾行的配置文件,這樣是管用,那么對于幾百行,甚至上千行的配置文件怎么辦?一個一個的排除?太慢了吧?別急,我有二分調試法為你降妖附魔.

二分調試法

什么是二分調試法?名字很酷吧?我自己取的,

二分調試法首先本質上也是排除法,其次,二分嘛,肯定與二分搜索有關系嘛,對頭,它就是利用了二分搜索法的算法思想.假如對于64行的配置文件,現(xiàn)在出現(xiàn)某個問題了,我首先把后面32行注釋掉(用(whennil)注釋,方便快捷),看看有沒有問題:

沒問題?太好了,那問題肯定是出在33行到64行之間,繼續(xù)二分,把剛才的注釋取消掉,把48行到64行之間的代碼注釋掉,繼續(xù)判斷.

有問題?同樣太好了,那問題肯定是出在1到32行之間,繼續(xù)二分,把剛才的注釋取消掉,把16行到32行之間的代碼注釋掉,繼續(xù)判斷.

經(jīng)過以上遞歸判斷,最終肯定能找到問題所在.好多問題我都是靠這種方法解決的.

二分調試法效率如何

二分二分嘛,當然也和二分搜索法效率一樣的了,復雜度lgN,所以甭管多大的配置文件,二分調試法一會就能幫你找到問題所在.100萬行?哇,好大,20次搞定!算法的威力強大吧?!

適用于其他語言嗎?

當然適用

注意事項

你不會傻的真的完全二分吧?二分的時候對于代碼塊,比如for,while等要放在一起,不能分開.

成為Emacs高手

經(jīng)過上述的鍛煉,我相信你現(xiàn)在應該可以熟練的使用Emacs了.但是還不夠,為什么還不夠?

1.遇到問題怎么辦

除了Google,或者向別人請教之外,能不能自已來解決?

2.想要實現(xiàn)一些Emacs沒有的功能

這就需要你懂Elisp語言了.

學Elisp主要是看文檔(廢話),一個是Emacs函數(shù)的自文檔(M-xdescribe-function,默認按鍵綁定是C-hf),還有更強大的就是Elisp的info.英文不好的同志(其實Emacs函數(shù)的自文檔和info的英文都很簡單)可以看看葉文斌的elisp教程,《GNUEmacsLisp編程入門中文版》.剛開始學Elisp的時候,可以先看看上面的2個中文教程,系統(tǒng)了解一下Elisp,看了差不多后,可以開始看看Emacs函數(shù)的自文檔,自文檔非常的方便,可以在看代碼的時候,隨時遇到不懂的函數(shù)隨時查看文檔.我寫了兩個查看Elisp自文檔和代碼非常方便的包,find-symbol,describe-symbol,看Emacs的代碼和別的插件的代碼也是一個非常好的學習Elisp的方法,有興趣的同志可以試試.等到自文檔看的比較熟練后,可以看info了,info寫的非常詳細.當然,以上過程,并不一定要循序漸進,你也可以在看自文檔的同時,看看info.

高手之后

哈,為Emacser們多寫點方便實用的Elisp包吧!

Emacs學習方法總結

1.天天用太重要了

2.多看文檔,包括Emacs的自文檔和info,info有Emacs的info和Elisp的info,info非常非常之詳細,想要學好Emacs必須要看的,不要怕英文,我的英文也不好,經(jīng)??淳兔靼琢耍疫€鍛煉了自己的英文,還有自文檔和info的英文真的是很簡單。

總結:

Emacs要是想學好,讀者還得在底下多下功夫,這是一個長期的學習過程。而在這個過程中也會慢慢培養(yǎng)讀者的學習能力和耐心。關于操作系統(tǒng)的更多的知識還有待于讀者去探索和學習。

責任編輯:韓亞珊 來源: 博客轉載
相關推薦

2011-09-08 10:38:37

Widget

2011-06-17 15:19:28

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:44:25

Qt

2013-04-23 10:51:15

Linux壓縮

2011-06-17 15:37:42

Qt

2011-06-17 14:54:31

Qt

2011-06-17 14:41:56

Qt

2011-06-17 14:29:55

Qt

2011-06-17 14:12:32

Qt

2011-06-17 15:06:14

Qt

2011-08-24 17:05:01

Lua

2011-06-17 15:32:28

Qt

2009-11-17 15:33:26

PHP數(shù)組元素

2009-10-22 16:46:03

VB.NET初步知識

2011-06-27 14:56:46

Qt Designer

2011-07-26 17:55:16

iPhone Runtime

2011-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2011-08-30 11:23:16

無線網(wǎng)卡怎么用無線網(wǎng)卡無線上網(wǎng)卡
點贊
收藏

51CTO技術棧公眾號