日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

为何Emacs和Vim被称为两大神器

發(fā)布時(shí)間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为何Emacs和Vim被称为两大神器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在這個(gè)蔚藍(lán)色的星球上,流傳著兩大神器的傳說: 據(jù)說Emacs是神的編輯器,而Vim是編輯器之神。

追求獨(dú)步天下的高手和低手們睜著一睹它們的風(fēng)采, 可看到它們樸素單薄的界面后,不禁心下懷疑: 這就是神器嗎?甚至有人生了輕視之心。

膚淺的人嗤之以鼻,說:什么年代了,還抱著這么老土的玩意不放, 真他媽Geek!同學(xué),請(qǐng)冷靜下來,聽我說:它們的確夠老了, 都幾十年的壽命了,但你想想為什么,為什么這么古老的編輯器, 卻有越來越多的人皈依它們。

Windows下用UltraEdit和Editplus的人質(zhì)問: 它們到底比UltraEdit和Editplus好在哪里?我說: 不可同日而語(yǔ)。

連UltraEdit和EditPlus都沒用過的同學(xué)問:它們就相當(dāng)于Linux上的 Notepad吧?我說:請(qǐng)你從我的眼前消失。

一些人勇敢地拾起了Vim或Emacs,卻發(fā)現(xiàn)學(xué)習(xí)曲線陡峭而漫長(zhǎng), 于是在沒發(fā)現(xiàn)它們的強(qiáng)大之前就放棄了,說: 太難用了,把鍵盤當(dāng)鼠標(biāo)用的爛玩意,有什么好的?

還是有一些人留下來了,堅(jiān)定地守護(hù)著這兩大神器。 一些說葡萄太酸的人想離開又不甘心,總是問: 它們到底神在哪里啊? 我不禁想起了李宗盛的幾句歌詞::

有人問我你究竟是哪里好,
這么多年我還忘不掉?
春風(fēng)再美也比不上你的笑,
沒見過你的人不會(huì)明了。

也許你不會(huì)明了,我還是要努力講一講。


1. 無(wú)敵的可擴(kuò)展性
1.1 可擴(kuò)展性給了軟件強(qiáng)大的生命

曾幾何時(shí),Windows用戶對(duì)軟件的可擴(kuò)展性沒有概念, 他們只能對(duì)他們使用的軟件進(jìn)行非常有限的定制。 擴(kuò)展軟件的權(quán)利保留在軟件開發(fā)者手中。軟件的使用者 如果想要新的功能和特性,只能等待軟件的升級(jí)。 有能力的用戶等不及了,為了添加自己想要的功能, 從0開始寫了一款新的軟件。 就這樣,新的功能意味著新的軟件,Windows下的軟件 前赴后繼,迅速地更新?lián)Q代著。因此, Windows下的軟件都很短命。

Linux和開源軟件漸漸流行起來,人們才發(fā)現(xiàn): 可擴(kuò)展性才能給軟件強(qiáng)大的生命。 在MS的VS橫行的今天,Eclipse為什么被評(píng)為最好的IDE? 就是因?yàn)樗贗DE中最具可擴(kuò)展性。 在IE幾乎一統(tǒng)天下的時(shí)候,為什么Firefox能奪走越來越多的用戶, 也是因?yàn)樗目蓴U(kuò)展性。 提供了良好的擴(kuò)展接口,用戶自然會(huì)寫出各種各樣的插件, 來滿足用戶自己形形色色的要求。 這樣,軟件在用戶的推動(dòng)下自然變得強(qiáng)大了。

Emacs和Vim沒有被時(shí)代淘汰,反而越發(fā)強(qiáng)大, 也正是因?yàn)樵跀?shù)不清的編輯器中,他們具有無(wú)可匹敵的可擴(kuò)展性。


1.2 Emacs是偽裝成編輯器的操作系統(tǒng)

有句夸張的話說:Emacs是偽裝成編輯器的操作系統(tǒng)。 細(xì)細(xì)想來,這句話并不夸張。

Emacs 其實(shí)是個(gè)Lisp的解釋器,因此可以用Lisp靈活地?cái)U(kuò)展。 Lisp是什么東西,這同樣是種很有生命力的編程語(yǔ)言。 在C語(yǔ)言還沒有發(fā)明的年代,MIT的人工智能實(shí)驗(yàn)室寫ITS操作系統(tǒng)時(shí), 一部分用的是匯編語(yǔ)言,還有一部分就是用的Lisp。 現(xiàn)在,Lisp仍在人工只能研究領(lǐng)域廣泛使用著。

有這么牛逼的擴(kuò)展語(yǔ)言,注定Emacs向著無(wú)所不能的方向發(fā)展。 漸漸地,人們用Emacs不再限于寫程序,寫文檔, 而且在Emacs里管理文件系統(tǒng),運(yùn)行終端,收郵件,上網(wǎng), 聽音樂……,真是一發(fā)不可收拾。甚至,有人用Emacs控制咖啡機(jī)煮咖啡。

這種大而全的擴(kuò)展,背離了“一個(gè)程序只做一件事并做好它”的 Unix哲學(xué),被Unix的忠誠(chéng)用戶所詬病。可是真的背離了嗎? Emacs說過自己是一個(gè)編輯器嗎?

正是因?yàn)镋macs的無(wú)敵的可擴(kuò)展性,人們才分不清Emacs到底是不是一個(gè)編 輯器了。但,就是有人喜歡這種All-in-One的哲學(xué),喜歡在Emacs中完成每 件事。所以才會(huì)有人寫《生活在Emacs中》,所以, Emacs才會(huì)成為一種信仰。
1.3 Vim不只是Vi

Vim是Vi最受歡迎的變種之一,除了繼承了Vi迅捷的編輯方式, Vim的功能已經(jīng)比原始的Vi強(qiáng)大得多。 這也得益于它可以用Vim腳本無(wú)限地?cái)U(kuò)展。 Vim.org 上已經(jīng)有數(shù)千個(gè)腳本了,給Vim增加各種各樣的特性和功能。

為了證明Vim的可擴(kuò)展性不輸于Emacs,也有用戶寫了 在Vim中玩游戲、運(yùn)行Shell、和集成GDB在Vim內(nèi)部調(diào)試的插件。 客觀地講,Vim的腳本語(yǔ)言與Emacs的ELisp相比,略顯遜色, 但這絲毫不妨礙它把Vim擴(kuò)展成非常優(yōu)秀的編輯器。

說到底,Vim的前身Vi和Emacs的設(shè)計(jì)采用了不同的哲學(xué), Vi更符合Unix傳統(tǒng),它通過管道機(jī)制和系統(tǒng)內(nèi)各種積木工具打交道, 它講究的是和系統(tǒng)內(nèi)的工具程序協(xié)作來完成用戶的任務(wù)。 和Emacs相比,它的定位很明確,就是要做一個(gè)強(qiáng)大的編輯器。 因此Vim的絕大部分?jǐn)U展,都是為了更好地完成編輯文本的任務(wù)。

海納百川,有容乃大。Emacs和Vim通過別的編輯器無(wú)法比肩的可擴(kuò)展性, 不斷吸收廣大用戶的智慧,是它們能成為“神器”的原因之一。


2. 特立獨(dú)行的魅力
2.1 可擴(kuò)展性讓你傾注了靈魂

一旦你意識(shí)到Vim或Emacs的強(qiáng)大,你就踏上了不停發(fā)掘它們潛力的漫漫長(zhǎng) 路。你不停地改進(jìn)自己的配置文件,你不停地搜索更好的插件,甚至有一 天你開始動(dòng)手寫自己的插件。就像劍客保養(yǎng)自己的劍一樣,你也甘心花時(shí) 間提升你的Vim或Emacs。經(jīng)年累月,不知不覺,你已經(jīng)在那把劍上傾注了 你的靈魂。
2.2 獨(dú)特的操作方式讓你中了毒

Emacs 和Vim有著迥異的操作方式,卻成了Unix/Linux世界中兩種代表性的 操作方式,有些軟件的操作方式類似Vi,而有些軟件的方式類似Emacs, 甚至有些軟件提供了Vi的鍵綁定和Emacs的鍵綁定讓你選擇。 而無(wú)論哪種操作方式,對(duì)Windows用戶來說都是古怪的。 雖說古怪,多少代人也驗(yàn)證了這兩種操作方式的高效。

Emacs號(hào)稱Ctrl到死的編輯器。其實(shí)它幾乎用了所有的輔助鍵, 聽說過沒有,Emacs = Esc + Meta + Alt + Ctrl + Shift。 所以高德納大師說操作Emacs,就像彈奏管風(fēng)琴。 Emacs使用非常多的組合按鍵,這大概也是它高效于其它無(wú)模式編輯器的原 因之一。你也可以定義自己的組合鍵序列,調(diào)用自己寫的lisp函數(shù), 完成自己想要的功能。

Vi一向是以快速的文本編輯聞名于世的。它的按鍵更簡(jiǎn)潔,通常是單個(gè)字 符按鍵,就實(shí)現(xiàn)某種操作。但這是以有模式為代價(jià)的。你要不停地按Esc在 從它的插入模式返回Normal模式。客觀得講,在文本編輯方面, Vim比Emacs高效,因?yàn)樗峁┝艘恍〦macs沒有對(duì)應(yīng)功能的操作來輔助高效 的文本編輯。但它的模式切換也讓一些人受不了,于是那些人選擇了 Emacs。

不管你選擇了Vim還是Emacs,你都要為習(xí)慣它們獨(dú)特的操作方式而努力, 這是一個(gè)技藝積累的過程。當(dāng)你習(xí)慣了Vim或Emacs,你會(huì)有欲罷不能的感 覺,你希望用它們完成盡可能多的任務(wù), 因?yàn)槟阍儆脛e的編輯器也已經(jīng)不習(xí)慣。

用Vim或Emacs就像吸食毒品,慢慢地就會(huì)上癮。 它們會(huì)帶給你漸漸強(qiáng)烈的快感,但你也向它們獻(xiàn)出了自己的靈魂。 這時(shí),你只能稱它們?yōu)樯衿鳌?/p>


3. 黑客的編輯器

Vim 的前身Vi的作者Bill Joy和Emacs的作者Richard Stallman 都是那個(gè)時(shí)代著名的黑客,所以這兩款編輯器一開始面向的主要用戶 就是寫程序的人,現(xiàn)在仍然是。 它們對(duì)編程加入了越來越多的支持,如語(yǔ)法高亮、智能縮進(jìn)、關(guān)鍵字補(bǔ)全 甚至集成調(diào)試。也有越來越多的程序員從IDE轉(zhuǎn)向了Vim和Emacs。

用Vim和Emacs編程到底有什么好處? 我想首先是它們高效的編輯操作會(huì)提高你的編程效率。 其次你可以用它們完成各種語(yǔ)言的編程,所謂一劍在手,夫復(fù)何求。 你不用再因?yàn)榫幊陶Z(yǔ)言不同去學(xué)習(xí)不同的IDE的使用, 那寫龐大的IDE的升級(jí)換代也與你再不相關(guān), 你把精力用于學(xué)習(xí)編程語(yǔ)言本身就好了。 聽說Google和微軟內(nèi)部開發(fā)也都不用IDE的, 他們也會(huì)用Emacs或Vim。

因?yàn)槲覍懙某绦虿欢?#xff0c;還不能深入體會(huì)用Vim或 Emacs開發(fā)程序的樂趣。 我只是覺得這很酷,你看,Linux之父Linus多年來用的是一款 MicroEmacs,它比GNU Emacs或XEmacs少許多功能,但Linus就是用它在維 護(hù)Linux。 微軟的大牛Don Box,Com之父,一直用Emacs, 他說誰(shuí)也不能奪走他的編輯器。他還在網(wǎng)上放了一段他用Emacs寫C#程序的 視頻。

編程大師們的選擇,也是Emacs和Vim被追捧為神器的原因之一。


4. 神器引發(fā)的圣戰(zhàn)

Vim用戶和Emacs用戶有著旗鼓相當(dāng)?shù)钠肺?#xff0c;應(yīng)該互相欣賞才對(duì)。 現(xiàn)實(shí)卻是,忠誠(chéng)于Vim的用戶和忠誠(chéng)于Emacs的用戶互不相容, 常常沒完沒了地打口水仗。Emacs用戶說Vim的操作方式單一而古怪, Vim用戶說Emacs體積龐大,啟動(dòng)緩慢。

很有點(diǎn)一山不容二虎的意思,大概因?yàn)槎叨继幱谏衿鞯母叨?#xff0c;才會(huì)斗爭(zhēng) 不斷吧。也可能是因?yàn)槎呓厝徊煌脑O(shè)計(jì)哲學(xué)吸引的用戶在價(jià)值觀上也 互不認(rèn)同。

正因?yàn)閮烧唠y分高下,新人總是在Vim和Emacs之間猶豫不定, 很難決定到底要皈依哪一個(gè)神。

總結(jié)

以上是生活随笔為你收集整理的为何Emacs和Vim被称为两大神器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。