成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么這些死腦筋們?cè)谟?VI?

系統(tǒng)
不管你們信不信,現(xiàn)在有很多人迷戀這個(gè)30多年歷史的VI編輯器,他們不是守舊派,跟不上時(shí)代潮流——VI用戶的社區(qū)正在不斷增長(zhǎng)著,我自己用VI已經(jīng)2年了,我的很多朋友也都開始使用VI了,有趣的是,有很VI用戶在VI出現(xiàn)前還沒有出生。

不管你們信不信,現(xiàn)在有很多人迷戀這個(gè)30多年歷史的VI編輯器(最好的克隆和改進(jìn)版本VIM也已經(jīng)有15歲了).

他們不是守舊派,跟不上時(shí)代潮流——VI用戶的社區(qū)正在不斷增長(zhǎng)著,我自己用VI已經(jīng)2年了(在有了10年編程經(jīng)驗(yàn)之后),我的很多朋友也都開始使用VI了,有趣的是,有很VI用戶在VI出現(xiàn)前還沒有出生。

當(dāng)然,VI/VIM編輯模式比其它任何編輯囂都出眾肯定有原因的,你不必非得是Unix高手才能用它,相反,VIM可以免費(fèi)在任何平臺(tái)下使用,并且它也可以作為其它主流IDE的插件使用,現(xiàn)在讓我來澄清幾個(gè)誤解,并用一些真實(shí)例子說明為什么它是極好的編輯器。

誤解#1:模態(tài)編輯

你第一次被VI/VIM難住,可能是對(duì)必須先用”i”才能開始編輯感覺震驚和厭惡,記不住使用”hjkl”來移動(dòng)光標(biāo)方向,并且需要按”a”才能在光標(biāo)后面追加內(nèi)容.因?yàn)槟憧赡芤呀?jīng)習(xí)慣使用其它編輯囂,并且方向鍵在插入模式管用(90%情況下是這樣的,如果系統(tǒng)配置正確的話),你可能除特別需要,保持在插入模式而不會(huì)返回到正常模式. 你可能會(huì)花20分鐘在插入模式下,并且會(huì)抱怨:”我到底可怎么記住現(xiàn)在正在插入模式下還是正常模式下?”

很顯然,這是一個(gè)完全錯(cuò)誤的使用VI/VIM的方式,正確方式是,你不會(huì)在意模式,你會(huì)一直在正常模式下,只有當(dāng)需要插入或修改字符時(shí)才會(huì)進(jìn)入插入模式,編輯完成之后馬上按<Esc>返回到正常模式.因此,如何記住當(dāng)前模式問題并不存在.當(dāng)你在編輯文字的時(shí)候,不要在插入模式去接聽電話,而應(yīng)該退出插入模式,接聽電話,或者返回的時(shí)候按<Esc>進(jìn)入正常模式.不要把插入模式當(dāng)成一種狀態(tài).

讓我來解釋下這其中的哲學(xué).

VI/VIM中的命令是可以組合使用的,比如”d”代表刪除,”e”代表”移到單詞末尾”,而”de”的功能就是刪除從當(dāng)前光標(biāo)位置至單詞結(jié)尾間的字符(有點(diǎn)像Ctrl-Shift-Right, Left, Del 快捷鍵在其它編輯器中實(shí)現(xiàn)的功能)

這樣的好處之一是,”.”命令可以重復(fù)上次執(zhí)行完成的組合命令(不包括移動(dòng)命令), 執(zhí)行完”dw”后,”.”會(huì)重復(fù)執(zhí)行”dw”命令, 你可以移動(dòng)光標(biāo),然后再按”.”會(huì)快速地刪除當(dāng)前光標(biāo)處的下一個(gè)單詞,這樣讓人感到難以置信的強(qiáng)大.

現(xiàn)在我們來看下插入模式. 一些命令(比如i,a,s等)可以讓你進(jìn)入插入模式鍵入文本直到按<Esc>, 說到這些命令, 整條命令也包括你在”i”命令和<Esc>之間鍵入的所有字符.

比如”iHello<Esc>”, 會(huì)在當(dāng)前光標(biāo)處插入”Hello”字符,而現(xiàn)在”.”命令可以在當(dāng)前光標(biāo)處重復(fù)插入”Hello”, 現(xiàn)在你應(yīng)該能夠明白強(qiáng)大之處了吧, 但還有更強(qiáng)大的, “A”會(huì)將光標(biāo)移到當(dāng)前行末尾并進(jìn)入編輯模式, 因此, 當(dāng)按<Esc>結(jié)束輸入后,你可以按”.”在任何位置的行末插入相同的字符.

另外一個(gè)更加強(qiáng)大的例子是: “ce”命令, 由”c”和”e”組合而成,”c”(修改)命令會(huì)刪除指定范圍內(nèi)的文本并進(jìn)入插入模式,與”d”(刪除)命令一樣,但唯一不同的是它會(huì)進(jìn)入插入模式而不是停留在正常模式. 這樣的好處是你在這條命令之后所鍵入的文本同樣也會(huì)作為這條命令的一部分. 因此如果你輸入”ceHello<Esc>”, 將會(huì)替換當(dāng)前光標(biāo)位置到行末的內(nèi)容為”Hello”, 而”.”命令同樣也會(huì)重復(fù)這個(gè)運(yùn)作.

動(dòng)作(光標(biāo)移動(dòng)命令)也可以更加復(fù)雜, 有很多各種進(jìn)入插入模式的命令(“o”會(huì)在當(dāng)前行下插入新一行,”O”會(huì)在上面插入新一行,”S”會(huì)刪除到行末的內(nèi)容,等等…所有這些命令都會(huì)進(jìn)入插入模式), 因此你可以想象,使用”.”可以創(chuàng)建重復(fù)執(zhí)行多么強(qiáng)大的編輯命令.

示例#1: 完美的點(diǎn)命令

讓我們來一個(gè)示例. 比如你已經(jīng)在你的頭文件中聲明了三個(gè)新函數(shù), 然后你需要在模塊里實(shí)現(xiàn)它們. 你復(fù)制下面文本內(nèi)容到你的實(shí)現(xiàn)文件里:

All code starts like this, doesn't it?

編程差不多都這樣開始,不是嗎?

現(xiàn)在你必須刪除這些分號(hào),并且添加一個(gè)空的函數(shù)體. 在上圖光標(biāo)處,你可以輸入”A”直接將光標(biāo)移到行末并進(jìn)入編輯模式:

After 'A' - see the insert mode cursor (vertical line) at the end

按"A"之后,注意進(jìn)入插入后光標(biāo)的位置

現(xiàn)在你使用<backspace>鍵刪除分號(hào):

Deleting is simple

刪除很簡(jiǎn)單

然后 鍵入<return>{<return>}<return>,添加函數(shù)體:

Inserting too, as in any other editor

插入跟其它編輯囂一樣

最后,按下<Esc>返回到正常模式下:

And now, quickly!, we return to normal mode

現(xiàn)在我們返回到正常模式下

現(xiàn)在你得重復(fù)以上步驟修改另外兩個(gè)函數(shù)。怎么做呢?很簡(jiǎn), 首先按”j”移動(dòng)下移一下光標(biāo),然后 點(diǎn)”.” 復(fù)制上一次執(zhí)行的命令(”A”,刪除分號(hào),插入文本),  如果你按”j.j.”, 兩次,你會(huì)得到如下結(jié)果:

Just j.j. to do this!

j.j. 命令之后

VI的命令架構(gòu)是關(guān)鍵,<backspace>和正常的輸入都將作為命令的一部分, 并且命令是完全可以重復(fù)執(zhí)行的。回想一下,日常編輯工作中有多少是重復(fù)的操作?

誤解#2: 這不僅僅是正則表達(dá)式

VI/VIM對(duì)正則表達(dá)式的支持很好,很多編輯器都支持查找、替換等操作可以使用正則表達(dá)式,但是只有VI(據(jù)我所知)可以更加高級(jí)地使用正則表達(dá)式,比如執(zhí)行一次正則查找,然后替換”begin”第二次出現(xiàn)的行的包括”proc”的下一行,或者任何你能想到的復(fù)雜操作。

這不是貶低正則表達(dá)式,或者VI/VIM的正則表達(dá)式支持,VI的主要強(qiáng)大之處,當(dāng)你習(xí)慣使用它之后依賴的強(qiáng)大之處 是它的基本編輯模式:

  • 一兩個(gè)鍵就可以在一行或一個(gè)屏幕中任意移動(dòng)到指定位置
  • “d”或”c”等命令可以跟其它運(yùn)作相結(jié)合從而直接編輯某些文字,或者進(jìn)入插入模式,并且可以使用”.”重復(fù)任意多次
  • 你的雙手可以不離開主鍵盤區(qū)就可以做任何事!這下不必?fù)?dān)心使用筆記本鍵盤了

示例#2: 智能范圍標(biāo)記

讓我們下看下下面這個(gè)典型示例。這是一個(gè)嵌入在某個(gè)復(fù)雜表達(dá)式中的函數(shù)調(diào)用:

Complex expression and function call

復(fù)雜表達(dá)式中的函數(shù)調(diào)用

如你所看到的,光標(biāo)處是函數(shù)調(diào)用開始的位置,現(xiàn)在想象我們想要展開它并將它保存在一個(gè)內(nèi)部變量中,首先要做的是選擇這個(gè)調(diào)用函數(shù),然后復(fù)制再將它移動(dòng)到上面,輸入變量名,然后再移動(dòng)到上面輸入函數(shù)聲明。 在通過編輯模型中,你需要用Ctrl-Right 和左右鍵不斷查找定位,在VIM里不需要這樣。 “%” 會(huì)自動(dòng)移動(dòng)到相匹配的圓括號(hào)(或相似的分組字符), 但是如果你沒有定位到這些特殊字符位置,它會(huì)一個(gè)字符一個(gè)字符地向右掃描,直到找到第一個(gè),然后再去查找跟它匹配的字符。因此,在上面這種情況下,它會(huì)移動(dòng)到右邊的匹配圓括號(hào)。

我們知道”c”命令,可以刪除字符(同樣會(huì)把它復(fù)制到剪切版  譯注:其它是VI里的BUFFER, 并不是系統(tǒng)剪切版,下同)并且進(jìn)入插入模式,我們可以在上面這種情況下輸入”c%”,然后我們將得到下面結(jié)果:

After just 'c%' ("change match")

輸入'c%' ("change match")之后

函數(shù)調(diào)用代碼被放到了剪切版中了,然后我們現(xiàn)在可以輸入變量名稱了,輸入兩個(gè)字符不算太難,輸入完變量名之后按<Esc>返回到正常模式,如下:

輸入字符然后按<Esc>

現(xiàn)在進(jìn)入正常模式,你可以鍵入”O”在上面新建一行并進(jìn)入插入模式,然后開始鍵入聲明語句:

Just pressed 'O' and typed the start of the declaration

鍵入 "O" 之后,輸入函數(shù)的聲明 語句前半部分

現(xiàn)在,我們需要插入之前的函數(shù)表達(dá)式,由于它已經(jīng)在剪切版里了,我們可以使用Ctrl-R,”在插入模式下插入粘貼(我承認(rèn)它有點(diǎn)不好記,但它支持復(fù)合剪切版功能). 這將把我們之前聲明的函數(shù)調(diào)用語句插入到當(dāng)前位置”, 我們鍵入一個(gè)分號(hào),然后 按<Esc> 返回到插入模式:

Finished

完成

誤解#3:只有書呆子或天才能用它

好吧,我希望看過以上的解釋和示例,你已經(jīng)體會(huì)到VI/VIM的強(qiáng)大之處了。學(xué)習(xí)它是艱難的(如下),但如果你會(huì)看復(fù)一年地第天8小時(shí)甚至以上地編碼,這將是繼你學(xué)習(xí)打字之后的第二次最好的學(xué)習(xí)投入(你已經(jīng)理解了,是嗎?如果沒有,不要怪VI,先學(xué)習(xí)它試試)。幾個(gè)周的困難學(xué)習(xí)會(huì)讓你一生受益,并且,至少不會(huì)有一個(gè)“啞巴助手” 把你煩得要死(譯注: 記得微軟office 97 的曲別針 嗎?)

關(guān)鍵是,用VI時(shí),你的鍵盤變成了一個(gè)有上百個(gè)按鈕的超級(jí)文字輸入專用手柄, 上面的每個(gè)鍵至少有兩個(gè)功能, 上檔和下檔,因此你至少每次按鍵(不包括Shift鍵)可以實(shí)現(xiàn)200個(gè)功能。文字編輯命令非常強(qiáng)大,并且你甚至可以組合使用它們來得到最好的結(jié)果,當(dāng)你輸入一些字符時(shí),它是普通的鍵盤,但當(dāng)你回到正常模式下,它是一個(gè)文字錄入設(shè)計(jì)最好的機(jī)器。

示例#3:操縱區(qū)塊受限

另一個(gè)簡(jiǎn)單例子, 這種只有VIM支持(使用了VIM的一個(gè)特別動(dòng)作),假如你的光標(biāo)在尖括號(hào)之間,就像在XML下經(jīng)常遇到的:

Life at an XML tag...

Life at an XML tag...

怎樣選擇尖括號(hào)內(nèi)的內(nèi)容呢? 在其它編輯囂中,你需要把手從現(xiàn)在舒適的位置移到到鍵盤的方向鍵區(qū)域,或者更糟糕,用鼠標(biāo), 無論怎樣,這可能都是很痛苦的,尤其當(dāng)使用筆記本電腦時(shí)。 但,在VIM里你怎么做呢?你只需要用”i”或”a”開頭的文本對(duì)象動(dòng)作命令, “i>”代表“當(dāng)前尖括號(hào)內(nèi)的區(qū)塊”, 所以你可以用”di>”(“刪除尖括號(hào)內(nèi)的內(nèi)容”)來刪除上面情形下的尖括號(hào)內(nèi)的全部?jī)?nèi)容:

After typing di> ("delete inner angle-block")

你可以使用”(“或”)”代表當(dāng)前括號(hào)的內(nèi)容區(qū)塊(或者”b”), “[" 或"]“,”{“或”}”, “w” 代表語法分隔的單詞,或者”W”代表空格分隔的單詞, 或者在它們前面加上前綴”i” 或”a”實(shí)現(xiàn)相應(yīng)的插入或追加功能。

誤解#4:用hjkl來移動(dòng)光標(biāo)嗎?

很多人對(duì)使用hjkl來代替方向鍵移動(dòng)光標(biāo)感到很詫異,原因可能是在當(dāng)時(shí)出現(xiàn)VI的那個(gè)時(shí)代并沒有方向鍵,而且當(dāng)時(shí)的終端電腦的鍵盤上還特別為hjkl鍵加印上了方向提示。但這樣設(shè)計(jì)帶來的一個(gè)副作用就是移動(dòng)光標(biāo)方向的時(shí)候不必將雙手移開主鍵盤區(qū),這很不錯(cuò)。

[[58174]]

ADM3A:VI作者Bill Joy最初用它來編寫VIADM3A的hjkl鍵

(譯注: 當(dāng)Bill Joy編寫VI的時(shí)候,用的是這臺(tái)電腦,由于時(shí)代久遠(yuǎn),當(dāng)時(shí)這臺(tái)電腦只有一個(gè)主鍵盤區(qū)(如圖),并且它的hjkl鍵上還印有方向)

但無論如何,即使你最初使用hjkl, 一旦你完全掌握了VI/VIM之后,你可能根本不會(huì)再用”h”和”l”(左和右),很少使用”j”和”k”。 為什么呢? 因?yàn)橛衅渌鼜?qiáng)大的移動(dòng)命令可以讓你更快地將光標(biāo)移動(dòng)到你想到達(dá)的位置。 當(dāng)在一行內(nèi)移動(dòng)時(shí),我發(fā)現(xiàn)總會(huì)有一個(gè)移動(dòng)命令可以將光標(biāo)直接定位到我想要的地方,所以我會(huì)有那些移動(dòng)命令:”f”后接著任何其它字符 會(huì) 定位到字符下次出現(xiàn)的位置,”%”用來匹配任何你想去的地方的模式,等等.. . 當(dāng)在文件中導(dǎo)航時(shí),有命令可以直接定位到屏幕的 頂部/中間/底部 的位置,”/“ 可以非常容易地輸入想要查找的字符串,”]]” 可以在函數(shù)間導(dǎo)航 ,等等。

ADM3A的hjkl鍵

示例#4:非常有用的命令

有些命令非常有用一旦你學(xué)會(huì)使用定會(huì)愛不釋手,”H“,”M“,和”L”可以將光標(biāo)直接定位到屏幕頂部、中間和底部。”zt”,”zz”和 “zb”會(huì)將光標(biāo)保持在當(dāng)前位置不變,滾動(dòng)視圖將它移動(dòng)到屏幕頂部、中間或底部。“×” 會(huì)查找當(dāng)前光標(biāo)所在的單詞的下一個(gè)出現(xiàn)位置(“#”向后查找,在鍵盤上的對(duì)稱位置所以很好記),而且還有更多這樣的命令。。。

誤解#5:由于花90%的時(shí)間思考,10%的時(shí)間編輯,也許有生產(chǎn)效率,但它仍然沒有用處

這些都是比較夸張的說法,但這經(jīng)常被提出來反對(duì)編輯過程中獲得的對(duì)提高開發(fā)生產(chǎn)效率很重要的好處。我打賭這是錯(cuò)誤的。

首先,有時(shí)候我的確必須要思考一個(gè)問題,而不需要去看代碼,我騎上我的自行車出去騮了一小時(shí),或兩小時(shí),如果天氣好的話,這比呆在電腦前思考好多了。

或者,當(dāng)我必須要分析一些困難的問題或設(shè)計(jì)一套方案時(shí),我經(jīng)常拿出一本筆記本(真的紙做的筆記本),一支筆,然后用它們來梳理我的思路。

我們可以打賭,除非一些特別情況,生產(chǎn)工作不得不在電腦前做。這是因?yàn)椋蠖鄶?shù)時(shí)候,你必須看著代碼來思考或設(shè)計(jì),而這包括在編輯器里瀏覽代碼,而且,通常你的確正在繼續(xù)鍵入或編輯。你可能剛思考了一分鐘,然后 你花了另一分鐘來編輯實(shí)現(xiàn)你剛剛所想到的,而當(dāng)你編輯的時(shí)候,你想要一個(gè)最好的工具來工作。

舒服的編輯讓你保持在那個(gè)“思考的領(lǐng)域”, 這個(gè)集中精神的狀態(tài)讓你有最大的生產(chǎn)效率,因?yàn)槟阏莆樟艘粋€(gè)功能強(qiáng)大的工具像一款文本編輯器, 而它其實(shí)從你的意識(shí)中消失了,你可以自由地集中精神于解決問題,你會(huì)下意識(shí)地去編輯實(shí)現(xiàn)你的想法。 通常的編輯方法是你查找定位,用Ctrl-Right, Ctrl-Right, Ctrl-Right, Ctrl-Right, Ctrl-Right 定位到你到的地方,然后你要將你的手移到鼠標(biāo)上,打開菜單,選擇一個(gè)選項(xiàng),進(jìn)入一連串的對(duì)話框然后點(diǎn)擊“OK” 確認(rèn)應(yīng)用。 而在VI/VIM中,你所要做的只是簡(jiǎn)單按幾個(gè)鍵,簡(jiǎn)單明了。

其它一些VI用也跟我分享了這些,所以我知道并不只我一個(gè)人有這種感受: 一旦你掌握了vi,  經(jīng)常會(huì)有這種感覺,在30秒鐘編輯之后,你腦中會(huì)響起一種持續(xù)敲擊鍵盤聲音的記憶, 當(dāng)你在文本的各行、區(qū)塊中穿梭,移動(dòng)和編輯時(shí),感覺就像這聲音在你腦中響起,而這時(shí)候,你會(huì)有一種強(qiáng)大力量的感覺。

示例#5: 縮進(jìn)一個(gè)區(qū)塊

VI和VIM能夠理解你的代碼結(jié)構(gòu),這可以從許多命令中體現(xiàn)出來。像 在上面示例#3中提到的”aB”:選擇當(dāng)前”{“和”}”以及它所包含的內(nèi)容(”a}”同樣).  下面讓我們把它與”>”操作符相結(jié)合,”<”是用來縮進(jìn)一塊區(qū)域的很有用的命令。代碼如下圖:

Improperly indented

不恰當(dāng)?shù)目s進(jìn)

你多長(zhǎng)時(shí)間會(huì)碰到這種情況?是的,你可以粘貼自動(dòng)再次縮進(jìn)(在VIM只需要”]p”),但通常情況下你會(huì)忘記,或者你不是因?yàn)檎迟N這段代碼而導(dǎo)致的這種情況,而是因?yàn)槟闾砑踊騽h除而導(dǎo)致的。你只需要再縮進(jìn)一下即可。在其它編輯囂里,你要移動(dòng)光標(biāo),選擇,然后再按TAB鍵。而在VIM里不需要這樣麻煩,只需要鍵入三個(gè)鍵:”>aB”(“縮進(jìn)一個(gè)區(qū)塊”):

We didn't even have to move the cursor!

我們甚至沒有移動(dòng)光標(biāo)

很酷是吧?你沒有移動(dòng)光標(biāo)或選擇,你只是直接告訴VI我想怎樣做,然后VI就這樣做了。我相信正是這種“直接”編輯方式讓你感覺到了力量并且讓你進(jìn)入并保持在你的狀態(tài)中。

誤解#6:它只是執(zhí)著快要消逝的過去

VI已經(jīng)存在30多年了,而它現(xiàn)在戛然存在著。VIM,一個(gè)引進(jìn)甚至比VI更多特性的VI的完全克隆,已經(jīng)存在了15年了,可以在世界上差不多任何一個(gè)平臺(tái)下運(yùn)行。喜歡VI的人們已經(jīng)找到一個(gè)在任何地方使用它的辦法:在Eclipse里有VI的模擬插件在許多Mac OS X apps 有VI的模擬插件在IntelliJ IDEA里有VI的模擬插件,這些甚至Emacs都沒有一個(gè),而卻有一款Emacs 的 VI模擬插件severalViper, 我開發(fā)并且出售ViEmu,一個(gè)家庭插件套裝,使VI可以在Visual Studio, SQL Server, Word 和Outlook中運(yùn)行, Paul Graham 仍然用它來編寫list和arc, Tim O’Reilly 也公開承認(rèn)它是Vi用戶,SlickEditCrisp也有VI模擬器…

當(dāng)然,VI/VIM的社區(qū)并不是很多:許多計(jì)算機(jī)用戶甚至不會(huì)熟練打字,并且VI的學(xué)習(xí)曲線又很陡峭,那些見過輕巧、簡(jiǎn)陋的編輯系統(tǒng)的人,因此VI/VIM編輯器肯定會(huì)繼續(xù)存在很多年。實(shí)際上,用VI/VIM的鍵綁定功能可以讓你更習(xí)慣使用VI并且在未來任何環(huán)境下都可用, 從舊的Unix操作系統(tǒng)到最新的流行IDE。

示例#6:可視性質(zhì)

作為最后一個(gè)示例,即使看起來VI是關(guān)于一些神秘難以理解、讓人看不懂的命令,但現(xiàn)在我們將會(huì)看到它的一些更加可視化的方面(事實(shí)上,它們是VIM的特性,而不是原始的VI). 其中之一:當(dāng)”hlsearch”配置打開時(shí)(在VIM中默認(rèn)是關(guān)閉的,但是可以使用”:set hlsearch”打開), 當(dāng)你搜索一個(gè)字符時(shí),所有匹配的結(jié)果在屏幕中都會(huì)高亮顯示。假設(shè)你有以下html代碼:

Some html source

HTML代碼

如果你按”*”,會(huì)查找當(dāng)前光標(biāo)下的單詞(”p”),結(jié)果會(huì)是這樣子:

Powerful asterisk!

強(qiáng)大的星號(hào)

正如你所看到的,光標(biāo)移動(dòng)了,而且不同地方的結(jié)果都被高亮了。

還有更多,我們知道像”d”和”c”這樣的操作符會(huì)根據(jù)下一條命令執(zhí)行,好的,如果我們想要可視化反饋,我們可以使用可視化模式:按”v”, 移動(dòng)光標(biāo)時(shí)你會(huì)看到從初始位置的區(qū)域到光標(biāo)處會(huì)被高亮,然后接著按下操作符可以直接看到效果。搜索命令在這里同樣適用。 如果你用”V”替代“v”, 會(huì)以行為單位高亮。 現(xiàn)在我們按下 “V”,然后 “k”(上):

After Vk ("visual-lines, up")

按下 Vk之后

如你所見,這兩行被高亮以示選中。假如我們想要選擇直到p的閉合標(biāo)簽(如高亮顯示),輸入”N”(上個(gè)匹配結(jié)果):

After 'N' ("previous-match")

按"N"之后

現(xiàn)在我們可以做任何我們想做的了,假如”gU”操作會(huì)讓所有字符變?yōu)榇髮懀ㄈ缓蠓祷氐秸DJ较拢?

Lovely upper case

華麗的大寫

好吧,現(xiàn)在讓我們來為VI/VIM的理解做下正確的解釋:

正確的理解#1:陡峭的學(xué)習(xí)曲線

有一件事是大家所一致認(rèn)同的,并且也是正確的,這張圖準(zhǔn)確地說明了這一點(diǎn):

事實(shí)是,學(xué)習(xí)VI/VIM是非常費(fèi)時(shí)(幾周到幾月),并且第一次嘗試是很不愉快的。我把這一點(diǎn)當(dāng)作是為什么VI/VIM不是,并且將不可能是流行的編輯器的主要原因。相比其它編輯器,你需要付出相當(dāng)多的努力去學(xué)習(xí)、記憶,然后將30條或更多的命令運(yùn)用嫻熟才會(huì)讓你使用VI/VIM更有效率。由于這些命令都是些粗略的一鍵命令(縱使它們都有一些助記方法,甚至有些形式是用起來是一致的),這仍然不是一項(xiàng)簡(jiǎn)單的任務(wù),簡(jiǎn)單的是認(rèn)輸并且返回使用熟悉的jedit或pico, UltraEdit或TextMate, 或者甚至emacs, 但是一旦你努力學(xué)習(xí)了,我知道沒有人會(huì)想要再返回用那些編輯器,并且我知道有很多人說他們已經(jīng)用VI超過了10年,并且他們已經(jīng)習(xí)慣,并且在期待即使是最小的細(xì)節(jié)改進(jìn)。

結(jié)尾語

隨便你想用還是不用,如果你覺得學(xué)習(xí)使用VI/VIM會(huì)白費(fèi)力氣,那就去學(xué)習(xí)Emacs, 或者繼續(xù)用你的差勁的IDE。 無論如何,在任何情況下,不要再說”用VI的人都是些死腦筋“,我希望我已經(jīng)成功地向你展示了為什么他們(我們)堅(jiān)持使用VI/VIM, 并且你至少應(yīng)該能夠理解它的強(qiáng)大,即使你仍然偏向不使用它。

 

責(zé)任編輯:張浩 來源: OSchina
相關(guān)推薦

2023-03-01 13:54:46

技術(shù)AI

2019-07-04 12:43:29

男性消費(fèi)者手機(jī)華為

2019-04-22 13:42:05

亞馬遜中國(guó)市場(chǎng)Uber

2021-08-27 05:39:30

首席數(shù)據(jù)官CDOCIO

2022-03-18 14:06:59

缺芯半導(dǎo)體行業(yè)造芯

2019-09-24 09:47:20

IOT大數(shù)據(jù)物聯(lián)網(wǎng)

2019-07-30 15:50:00

2022-10-27 10:36:07

CIOIT外包

2025-06-19 17:36:29

模型AI

2021-06-11 00:03:31

鴻蒙智能手機(jī)

2019-02-20 11:14:08

程序員技能溝通

2017-11-18 23:48:36

戴爾

2020-10-13 17:54:18

開發(fā)Kafka數(shù)據(jù)

2013-08-07 09:34:05

移動(dòng)信息化企業(yè)應(yīng)用

2021-05-21 09:12:26

裸金屬服務(wù)器云服務(wù)服務(wù)器

2022-03-28 13:04:10

機(jī)器學(xué)習(xí)模型計(jì)算機(jī)

2021-12-14 07:40:07

企業(yè)內(nèi)部開源

2018-05-23 20:48:26

iOS 12分屏果粉

2025-06-25 08:10:00

screentmux運(yùn)維

2020-09-15 08:29:02

SVNGit存儲(chǔ)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩国产中文字幕 | 国产区在线观看 | 特级a欧美做爰片毛片 | 欧美黑人又粗大 | 日韩1区2区 | 久久久久久免费免费 | 精品国产一级 | 国产精品亚洲精品日韩已方 | 久久爆操| 欧美一区二区 | 免费看黄视频网站 | 国产成人一区在线 | 国产成人免费网站 | 欧洲精品视频一区 | 成人毛片视频免费 | 国产亚洲一区二区三区在线 | 午夜在线视频 | 成人做爰69片免费观看 | 国产一区二区三区四区五区加勒比 | 亚洲电影免费 | 久草院线 | 精品美女久久久 | 91精品久久久久久久久久入口 | 国产精品久久久久久一级毛片 | 99视频在线播放 | 羞视频在线观看 | 国产精品99久久久久久大便 | 亚洲 欧美 在线 一区 | 欧美无乱码久久久免费午夜一区 | 亚洲一区二区在线视频 | 亚洲一区二区久久 | 一区二区三区四区不卡 | 国产日韩欧美一区二区在线播放 | 国产精品免费视频一区 | av在线伊人 | 天天久久| 免费在线观看av的网站 | 日韩欧美一区二区三区 | 久久久国产精品入口麻豆 | 一道本不卡 | 黄网站涩免费蜜桃网站 |