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
^
$
f
f
t
t
,
;
還有乙個很有用的命令是
dt"
→ 刪除所有的內容,直到遇到雙引號——"。
區域選擇a
或i
在visual 模式下,這些命令很強大,其命令格式為
a
和i
假設你有乙個字串
(map (+) ("foo"))
.而游標鍵在第乙個o
的位置。塊操作:
塊操作,典型的操作:
0 i-- [esc]
在windows下的vim,你需要使用
而不是
,
是拷貝剪貼簿。
在 insert 模式下,你可以輸入乙個詞的開頭,然後按
或是,自動補齊功能就出現了……
qa
操作序列q
,@a
,@@
示例在乙個只有一行且這一行只有「1」的文字中,鍵入如下命令:
@a
→ 在1下面寫下 2
@@
→ 在2 正面寫下3現在做
100@@
會建立新的100行,並把資料增加到 103.視覺化選擇:
v
,v
,前面,我們看到了
的示例 (在windows下應該是),我們可以使用
v
和v
。一但被選好了,你可以做下面的事:在所有被選擇的行後加上點東西:
分屏:
:split
和vsplit
.下面是主要的命令,你可以使用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的公升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常不錯。正文開始 你想以最快的速...