vim簡單使用教程

2021-08-06 03:08:01 字數 4567 閱讀 3306

vim的學習曲線相當的大(參看各種文字編輯器的學習曲線),所以,如果你一開始看到的是一大堆vim的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自《learn vim progressively》,我覺得這是給新手最好的vim的公升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常不錯。

——————————正文開始——————————

你想以最快的速度學習人類史上最好的文字編輯器vim嗎?你先得懂得如何在vim倖存下來,然後一點一點地學習各種戲法。

vim the six billion dollar editor

better, stronger, faster.

學習 vim 並且其會成為你最後乙個使用的文字編輯器。沒有比這個更好的文字編輯器了,非常地難學,但是卻不可思議地好用。

我建議下面這四個步驟:

存活感覺良好

覺得更好,更強,更快

使用vim的超能力

當你走完這篇文章,你會成為乙個vim的 superstar。

在開始學習以前,我需要給你一些警告:

第一級 – 存活

安裝 vim

啟動 vim

什麼也別幹!請先閱讀

當你安裝好乙個編輯器後,你一定會想在其中輸入點什麼東西,然後看看這個編輯器是什麼樣子。但vim不是這樣的,請按照下面的命令操作:

現在,你知道如何在 insert 和 normal 模式下切換了。下面是一些命令,可以讓你在 normal 模式下倖存下來:

推薦:

你能在vim倖存下來只需要上述的那5個命令,你就可以編輯文字了,你一定要把這些命令練成一種下意識的狀態。於是你就可以開始高階到第二級了。

當是,在你進入第二級時,需要再說一下 normal 模式。在一般的編輯器下,當你需要copy一段文字的時候,你需要使用ctrl鍵,比如:ctrl-c。也就是說,ctrl鍵就好像功能鍵一樣,當你按下了功能鍵ctrl後,c就不在是c了,而且就是乙個命令或是乙個快鍵鍵了,在vim的normal模式下,所有的鍵就是功能鍵了。這個你需要知道。

標記:

第二級 – 感覺良好

上面的那些命令只能讓你存活下來,現在是時候學習一些更多的命令了,下面是我的建議:(陳皓注:所有的命令都需要在normal模式下使用,如果你不知道現在在什麼樣的模式,你就狂按幾次esc鍵)

各種插入模式

簡單的移動游標

拷貝/貼上 (陳皓注:p/p都可以,p是表示在當前位置之後,p表示在當前位置之前)

undo/redo

開啟/儲存/退出/改變檔案(buffer)

花點時間熟悉一下上面的命令,一旦你掌握他們了,你就幾乎可以幹其它編輯器都能幹的事了。但是到現在為止,你還是覺得使用vim還是有點笨拙,不過沒關係,你可以高階到第**了。

第** – 更好,更強,更快

先恭喜你!你幹的很不錯。我們可以開始一些更為有趣的事了。在第**,我們只談那些和vi可以相容的命令。

更好下面,讓我們看一下vim是怎麼重複自己的:

.→ (小數點) 可以重複上一次的命令

n→ 重複某個命令n次

下面是乙個示例,找開乙個檔案你可以試試下面的命令:

更強

你要讓你的游標移動更有效率,你一定要了解下面的這些命令,千萬別跳過。

ng→ 到第 n 行 (陳皓注:注意命令中的g是大寫的,另我一般使用 : n 到第n行,如 :137 到第137行)

gg→ 到第一行。(陳皓注:相當於1g,或 :1)

g→ 到最後一行。

按單詞移動:

w→ 到下乙個單詞的開頭。

e→ 到下乙個單詞的結尾。

> 如果你認為單詞是由預設方式,那麼就用小寫的e和w。預設上來說,乙個單詞由字母,數字和下劃線組成(陳皓注:程式變數)

> 如果你認為單詞是由blank字元分隔符,那麼你需要使用大寫的e和w。(陳皓注:程式語句)

下面,讓我來說說最強的游標移動:

相信我,上面這三個命令對程式設計師來說是相當強大的。

更快你一定要記住游標的移動,因為很多命令都可以和這些移動游標的命令連動。很多命令都可以如下來幹:

例如0y$命令意味著:

你可可以輸入ye,從當前位置拷貝到本單詞的最後乙個字元。

你也可以輸入y2/foo來拷貝2個 「foo」 之間的字串。

還有很多時間並不一定你就一定要按y才會拷貝,下面的命令也會被拷貝:

(陳皓注:視覺化選擇是乙個很有意思的命令,你可以先按v,然後移動游標,你就會看到文字被選擇,然後,你可能d,也可y,也可以變大寫等)

第四級 – vim 超能力

你只需要掌握前面的命令,你就可以很舒服的使用vim了。但是,現在,我們向你介紹的是vim殺手級的功能。下面這些功能是我只用vim的原因。

在當前行上移動游標:0^$fftt,;

還有乙個很有用的命令是dt"→ 刪除所有的內容,直到遇到雙引號——"。區域選擇ai在visual 模式下,這些命令很強大,其命令格式為

ai

假設你有乙個字串(map (+) ("foo")).而游標鍵在第乙個o的位置。

塊操作:塊操作,典型的操作:0 i-- [esc]

在windows下的vim,你需要使用而不是是拷貝剪貼簿。

在 insert 模式下,你可以輸入乙個詞的開頭,然後按或是,自動補齊功能就出現了……

qa操作序列q,@a,@@

示例

在乙個只有一行且這一行只有「1」的文字中,鍵入如下命令:

@a→ 在1下面寫下 2

@@→ 在2 正面寫下3

現在做100@@會建立新的100行,並把資料增加到 103.

視覺化選擇:v,v,前面,我們看到了的示例 (在windows下應該是),我們可以使用vv。一但被選好了,你可以做下面的事:

在所有被選擇的行後加上點東西:

分屏::splitvsplit.

下面是主要的命令,你可以使用vim的幫助:help split. 你可以參考本站以前的一篇文章vim分屏。

vim簡單使用教程

vim的學習曲線相當的大 參看各種文字編輯器的學習曲線 所以,如果你一開始看到的是一大堆vim的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自 learn vim progressively 我覺得這是給新手最好的vim的公升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常...

vim簡單使用教程

vim的學習曲線相當的大 參看各種文字編輯器的學習曲線 所以,如果你一開始看到的是一大堆vim的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自 learn vim progressively 我覺得這是給新手最好的vim的公升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常...

vim使用教程

vim的學習曲線相當的大,所以,如果你一開始看到的是一大堆vim的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自 learn vim progressively 我覺得這是給新手最好的vim的公升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常不錯。正文開始 你想以最快的速...