偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Emacs初學(xué)者必看

運(yùn)維 系統(tǒng)運(yùn)維
emacs是一個(gè)可擴(kuò)展,可定制的文本編輯器,但是遠(yuǎn)遠(yuǎn)不止于此.我覺(jué)得:emacs是一個(gè)具有超強(qiáng)擴(kuò)展性,超強(qiáng)定制性的操作平臺(tái).當(dāng)你不滿意emacs時(shí),你可以任意的擴(kuò)展和定制它.我經(jīng)常在寫(xiě)程序的時(shí)候,發(fā)現(xiàn)不滿意的地方,就停下來(lái)定制它.總之,emacs是“只有你想不到的,沒(méi)有我做不到的。”

Emacs是什么

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

Emacs初學(xué)者必看

為啥要學(xué)Emacs

1.趕時(shí)髦

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

2.裝酷

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

3.想在特定語(yǔ)言的功能方面超過(guò)特定IDE

比如,你想在java語(yǔ)言方面,針對(duì)java的特有的功能這一方面,你想使用Emacs超過(guò)Eclipse,那Emacs不太適合你.Emacs的年齡很大,比我們這些年輕人的年齡都要大,好多高級(jí)功能,比如Eclipse的代碼重構(gòu),它就沒(méi)有.一般IDE都有的代碼補(bǔ)全,代碼瀏覽,Emacs在這方面也做的不是很好,當(dāng)然這些方面,都會(huì)有的,因?yàn)镋macs的擴(kuò)展性實(shí)在是太強(qiáng)大了,任何人都可以擴(kuò)展它,那些功能只要用戶需求大,最終會(huì)有人寫(xiě)的.既然這樣,那么Emacs的強(qiáng)項(xiàng)到底在哪里呢?

Emacs的強(qiáng)項(xiàng)

1.無(wú)限的定制性

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

2.無(wú)限的擴(kuò)展性

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

Emacs適合哪些人

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

2.喜歡追求高效率操作的人.如果你喜歡用鼠標(biāo)點(diǎn)來(lái)點(diǎn)去,如果你喜歡按那些難用的功能鍵,那就不用再看了,Emacs不太適合你.

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

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

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

從哪開(kāi)始

如果你能通過(guò)上面幾條,恭喜你,你可以開(kāi)始你的Emacs之旅了.

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

Emacs的考驗(yàn)

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

1.按鍵難按

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

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

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

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

其實(shí)上面所說(shuō)的vim按鍵的那個(gè)問(wèn)題,可以通過(guò)”.”來(lái)***的解決.但是其他的問(wèn)題,可能就稍微麻煩了點(diǎn),比如vim編輯的時(shí)候要不停的在編輯模式和命令模式來(lái)回切換,當(dāng)然可以通過(guò)映射來(lái)做到不切換,但是映射的鍵太多,而且映射完,按鍵也基本和Emacs的差不多了,

2.平時(shí)工作太忙,沒(méi)時(shí)間學(xué),以后有空再學(xué)

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

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

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

Emacs進(jìn)階

當(dāng)你掌握了上述的基本概念和基礎(chǔ)知識(shí)后,恭喜你,你將開(kāi)始初學(xué)者的第二個(gè)階段.

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

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

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

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

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

二分調(diào)試法

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

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

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

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

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

二分調(diào)試法效率如何

二分二分嘛,當(dāng)然也和二分搜索法效率一樣的了,復(fù)雜度lgN,所以甭管多大的配置文件,二分調(diào)試法一會(huì)就能幫你找到問(wèn)題所在.100萬(wàn)行?哇,好大,20次搞定!算法的威力強(qiáng)大吧?!

適用于其他語(yǔ)言嗎?

當(dāng)然適用

注意事項(xiàng)

你不會(huì)傻的真的完全二分吧?二分的時(shí)候?qū)τ诖a塊,比如for,while等要放在一起,不能分開(kāi).

成為Emacs高手

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

1.遇到問(wèn)題怎么辦

除了Google,或者向別人請(qǐng)教之外,能不能自已來(lái)解決?

2.想要實(shí)現(xiàn)一些Emacs沒(méi)有的功能

這就需要你懂Elisp語(yǔ)言了.

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

高手之后

哈,為Emacser們多寫(xiě)點(diǎn)方便實(shí)用的Elisp包吧!

Emacs學(xué)習(xí)方法總結(jié)

1.天天用太重要了

2.多看文檔,包括Emacs的自文檔和info,info有Emacs的info和Elisp的info,info非常非常之詳細(xì),想要學(xué)好Emacs必須要看的,不要怕英文,我的英文也不好,經(jīng)常看就明白了,而且還鍛煉了自己的英文,還有自文檔和info的英文真的是很簡(jiǎn)單。

總結(jié):

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

責(zé)任編輯:韓亞珊 來(lái)源: 博客轉(zhuǎn)載
相關(guān)推薦

2011-09-08 10:38:37

Widget

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

2011-06-17 14:29:55

Qt

2013-04-23 10:51:15

Linux壓縮

2011-06-17 14:41:56

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:37:42

Qt

2011-06-17 15:44:25

Qt

2011-06-17 14:54:31

Qt

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

2009-11-17 15:33:26

PHP數(shù)組元素

2009-10-22 16:46:03

VB.NET初步知識(shí)

2011-06-27 14:56:46

Qt Designer

2009-11-23 10:29:43

CISCO路由器教程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)