程序員大部分的時(shí)間都是在和代碼打交道棺蛛,因此,對(duì)于文本編輯器一定不會(huì)陌生了别厘。
編輯器是處理文本的工具。
就像趁手的兵器對(duì)武林高手的輔助作用一樣拥诡,
強(qiáng)大的編輯器也會(huì)使編碼工作事半功倍触趴,趣味十足。
可是渴肉,什么樣的編輯器可以稱(chēng)之為強(qiáng)大呢冗懦?
江湖中,流傳著關(guān)于兩大編輯器的傳說(shuō)仇祭,
Emacs是神的編輯器披蕉,而Vim是編輯器之神
有關(guān)最強(qiáng)編輯器的爭(zhēng)論卻一直沒(méi)有結(jié)果,戰(zhàn)爭(zhēng)一觸即發(fā)乌奇,
熱愛(ài)Emacs
的人們說(shuō)没讲,Emacs
是神用的,而Vim
是人用的礁苗。
而熱愛(ài)Vim
的人們會(huì)說(shuō)爬凑,Vim
畢竟是神,Emacs
只是個(gè)編輯器而已试伙。
有些人可能會(huì)對(duì)文本編輯器不屑一顧嘁信,
因?yàn)槟壳坝泻芏郔DE(集成開(kāi)發(fā)環(huán)境:Integrated Development Environment)可用,
IDE大大簡(jiǎn)化了程序員們的重復(fù)勞動(dòng)疏叨,對(duì)代碼進(jìn)行編譯調(diào)試非常方便潘靖。
Neal Ford在《卓有成效的程序員》一書(shū)中提到,
最好尋找一個(gè)完美的編輯器蚤蔓,而不是IDE卦溢。雖然公司的制度或者某些編程語(yǔ)言通常會(huì)告訴你,在代碼編寫(xiě)方面昌粤,使用IDE是非常高效的方式既绕,但我們?nèi)匀恍枰獌?yōu)質(zhì)的文本編輯器來(lái)編輯純文本文件。
以我個(gè)人的經(jīng)驗(yàn)來(lái)說(shuō)涮坐,如果以后潛在會(huì)使用多種語(yǔ)言進(jìn)行編程凄贩,
就應(yīng)該挑選并掌握一款文本編輯器,把它帶在身邊袱讹。
IDE安裝起來(lái)不太方便疲扎,并且和具體語(yǔ)言綁定的比較嚴(yán)重昵时,
當(dāng)僅僅使用特定某種語(yǔ)言進(jìn)行編程時(shí)可以使用它。
以上兩款強(qiáng)大的編輯器Emacs
和Vim
椒丧,學(xué)習(xí)任何一種都是可以的壹甥,僅憑個(gè)人喜好決定,
最好都試用一段時(shí)間壶熏,然后聽(tīng)從自己的直覺(jué)句柠。
其實(shí),學(xué)習(xí)如何使用它們其實(shí)并不是最重要的事情棒假,重要的是學(xué)習(xí)的過(guò)程中可以給我們帶來(lái)什么溯职。
本系列文章我們來(lái)探討Emacs,
之所以談?wù)撍毖疲且驗(yàn)镋macs和Lisp有不解之緣谜酒,或者說(shuō)Emacs有一顆Lisp的心。
Lisp
是一族函數(shù)式的編程語(yǔ)言妻枕,有眾多方言僻族,Emacs
使用了elisp(Emacs Lisp)。
很多文章都提到過(guò)Emacs
的快捷鍵以及配置方式屡谐,
本系列文章并不打算寫(xiě)這些述么,而是通過(guò)Emacs
介紹elisp
這門(mén)語(yǔ)言,
來(lái)讓我們一起欣賞“解釋器模式”在編輯器中的偉大實(shí)現(xiàn)吧康嘉。