你想盡量快地自學vim(爲你們所熟知的最好的編輯器) 。這是我學習的方法:從細處入手而後慢慢掌握全部技巧。linux Vim 六十億美圓的編輯器vim
學習vim並把它做爲你的下一個文本編輯器,據我所知沒有比它更好的編輯器,學起來難但出奇的好用。編輯器 我建議你按下附4個步驟學習Vim:ide
本課程結束時你將成爲一個vim高手。工具 但在咱們開始以前,先提醒一下。剛開始學習vim會有點痛苦,它很費時間,有點像玩樂器同樣。不要期望能像其餘編輯器同樣花3天之內的時間便能很好的使用它,事實上,這確定要花2周而不是3天。學習 |
第一層次 – 適應
在標準的編輯器裏,寫一些東西到屏幕上只須要在鍵盤上輸入就足夠了,在Vim中不是這樣。Vim在普通模式裏,讓咱們轉到插入模式,鍵入字符i。url 你應該感受好一點了,能像在標準編輯器裏輸入了,回到普通模式只需按ESC鍵便可。 你如今知道了如何在插入和普通模式之間轉換,下面是你在普通模式下須要記住的指令:
|
只有5個命令,一開始只需掌握這些,當適應了這些命令後(大概須要一天或更多的詩句),你能夠轉到第二層級了。 但首先,稍回顧一下普通模式。在標準編輯器裏,要複製的話你須要使用ctrl鍵(Ctrl-c)。實際上,當你按下ctrl鍵時全部的按鍵的意義都改變了。在vim普通模式下就像在ctrl鍵自動按下的狀況下使用編輯器。 最後的補充:
|
第二層 - 爽一把你知道,命令是由需求所定。是時候學習更多命令了。下面這些是個人建議:
花些時間學習全部這些命令。一旦完成後,你應該就能完成在像在其它編輯器中全部事情。也許,你可能還會以爲有點笨手笨腳。可是跟着我進入下一個層次,你就會發現爲何vim值得你額外付出的努力。 |
第三層次——更好,更強,更快爲達到這一步表示祝賀!如今咱們能夠開始這有趣的東西。在第三層次,咱們將只討論命令,它兼容舊的vi編輯器。 更好讓咱們看看vim是怎麼幫你作重複事情的。 1. .→(點)能夠重複最後一個命令, 2. N<命令>會重複命令N次。 一些例子,打開一個文件而後寫入下面內容: • 2dd→ will delete 2 lines • 3p→ will paste the text 3 times • 100idesu [ESC]→ will write 「desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu」 •.→ Just after the last command will write again the 100 「desu」. •3.→ Will write 3 「desu」 (and not 300, how clever). |
更強知道怎麼有效的移動對vim是很是重要的。請不要跳過這一節。 1. NG→定位到第N行 2. gg→1G的快捷方式——定位到第一行 3. G→定位到最後一行 4. 單詞移動:
如今讓咱們來談談幾個很是有效率的移動:
相信我,最後的三行命令是精華。 |
更快記住了vi移動的重要性?這裏就是緣由。大多數命令使用下面這種通用格式: <開始位置><命令><結束位置> 例如: 0y$意味着
咱們也可使用ye,從當前位置複製到單詞的末尾。可是y2/foo 會一直複製到第二個foo出現的地方。 但對於y(複製), d(刪除), v(visual 選擇), gU(大寫), gu(小寫)等等命令都是真實的。 |
第四層次 – Vim 超能量使用上述的命令,你就以爲很爽了。可是如今,這裏纔是殺手鐗。正由於其中有些特性,我才使用vim的。 在當前行移動:0^$g_fFtT,;
一個有用的提示:dt"→刪除全部的直到」。 |
區域選擇 : <命令>a<對象> 或 <命令>i<對象>這些命令僅僅能用在可視化模式的一個操做後。可是他們至關的有用。他們的主要模式有: <命令>a<對象> 和 <命令>i<對象> 命令能夠是任何命令,例如 , d(刪除),y(拉取),v(進入可視化模式)。對象能夠是: w一個單詞,W一個單詞 (擴展的),s一個句子,p一個段落。並且也能夠是普通的字符, 例如",',),},]。 假設如今光標在 (map (+) ("foo")) 這個字符串的第一個o上。
|
矩形選擇塊:<C-v>矩形選擇塊可以方便的對多行代碼進行註釋。 如:0<C-v><C-d>I-- [ESC]
提示:若是你的剪貼板在Windows中是非空的話,那麼你就不得不使用<C-q>來代替<C-v>。 |
實現:<C-n>和<C-p>.在插入模式中:只要打出單詞的首字母,而後按<C-p>,神奇的事情就發生了...
宏命令 : qa 作的一些事,@a,@@qa 把你的動做記錄在了寄存器 a 中。而後@a 就會將存在寄存器中的動做重現,就好像你重新打了一邊。@@是將你最後一次執行的宏命令再次執行的快捷鍵。
|
可視化模式選擇: v, V, <C-v>咱們已經看到過<C-v>例子,這裏還有v和V。一旦已經選擇好了,你能夠:
在可視化模式所選擇的行的末尾添加一些東西:
|
分割:: split 和 vsplit這些是很重要的命令,因此你應該在:help split看看。
|
小結這些是我常用的90%的命令。我建議你天天學習一到兩個命令。在兩到三週以後,你將會感受到vim在你手上使用的是如此的強大。 學習vim更多的是記憶訓練。值得高興的是vim誕生了一些很是好的工具和優秀的文檔。當你很是熟悉大部分基本命令以後就可使用vimtutor了。另外,你應該仔細的閱讀這頁 ::help usr_02.txt. 而後,你要去學習瞭解寄存器,插件已經其它的功能。學習vim就像學鋼琴同樣,全部的都要掌握好。 |
參與翻譯(4人):Lesus, Garfielt, szkiti, 耀耀
本文轉自:開源中國社區 [http://www.oschina.net]
本文標題:Vim學習指南
本文地址:http://www.oschina.net/translate/learn-vim-progressively