VIM教程-1
(2009-11-20 17:29:31)
-
===============================================================================
-
= 歡 迎 閱 讀 《 V I M 教 程 》 —— 版本 1.5 =
-
===============================================================================
-
vim 是一個具有很多命令的功能非常強大的編輯器。限于篇幅,在本教程當中
-
就不詳細介紹了。本教程的設計目標是講述一些必要的基本命令,而掌握好這
-
些命令,您就能夠很容易將vim當作一個通用的萬能編輯器來使用了。
-
-
完成本教程的內容大約需要25-30分鐘,取決于您訓練的時間。
-
-
每一節(jié)的命令操作將會更改本文。推薦您復制本文的一個副本,然后在副本上
-
進行訓練(如果您是通過"vimtutor"來啟動教程的,那么本文就已經(jīng)是副本了)。
-
-
切記一點∶本教程的設計思路是在使用中進行學習的。也就是說,您需要通過
-
執(zhí)行命令來學習它們本身的正確用法。如果您只是閱讀而不操作,那么您可能
-
會很快遺忘這些命令的!
-
-
好了,現(xiàn)在請確定您的Shift-Lock(大小寫鎖定鍵)還沒有按下,然后按鍵盤上
-
的字母鍵 j 足夠多的次數(shù)來移動光標,直到第一節(jié)的內容能夠完全充滿屏幕。
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第一講第一節(jié)∶移動光標
-
-
-
※※ 要移動光標,請依照說明分別按下 h、j、k、l 鍵。 ※※
-
-
^
-
k 提示∶ h 的鍵位于左邊,每次按下就會向左移動。
-
< h l > l 的鍵位于右邊,每次按下就會向右移動。
-
j j 鍵看起來很象一支尖端方向朝下的箭頭。
-
v
-
- 1. 請隨意在屏幕內移動光標,直至您覺得舒服為止。
-
- 2. 按下下行鍵(j),直到出現(xiàn)光標重復下行。
-
- ---> 現(xiàn)在您應該已經(jīng)學會如何移動到下一講吧。
-
- 3. 現(xiàn)在請使用下行鍵,將光標移動到第二講。
-
-
提示∶如果您不敢確定您所按下的字母,請按下<ESC>鍵回到正常(Normal)模式。
-
然后再次從鍵盤輸入您想要的命令。
-
- 提示∶光標鍵應當也能正常工作的。但是使用hjkl鍵,在習慣之后您就能夠快速
-
地在屏幕內四處移動光標了。
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第一講第二節(jié)∶VIM的進入和退出
-
-
-
!! 特別提示∶敬請閱讀完整本一節(jié)的內容,然后才能執(zhí)行以下所講解的命令。
-
- 1. 請按<ESC>鍵(這是為了確保您處在正常模式)。
-
- 2. 然后輸入∶ :q! <回車>
-
-
---> 這種方式的退出編輯器絕不會保存您進入編輯器以來所做的改動。
-
如果您想保存更改再退出,請輸入∶
-
:wq <回車>
-
- 3. 如果您看到了命令行提示符,請輸入能夠帶您回到本教程的命令,那就是∶
-
-
vimtutor <回車>
-
-
通常情況下您也可以用這種方式∶
-
-
vim tutor <回車>
-
-
---> 這里的 'vim' 表示進入vim編輯器,而 'tutor'則是您準備要編輯的文件。
-
- 4. 如果您自信已經(jīng)牢牢記住了這些步驟的話,請從步驟1執(zhí)行到步驟3退出,然
-
后再次進入編輯器。接著將光標移動到第一講第三節(jié)來繼續(xù)我們的教程講解。
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第一講第三節(jié)∶文本編輯之刪除
-
-
-
** 在正常(Normal)模式下,可以按下 x 鍵來刪除光標所在位置的字符。**
-
- 1. 請將光標移動到本節(jié)中下面標記有 ---> 的那一行。
-
- 2. 為了修正輸入錯誤,請將光標移至準備刪除的字符的位置處。
-
- 3. 然后按下 x 鍵將錯誤字符刪除掉。
-
- 4. 重復步驟2到步驟4,直到句子修正為止。
-
-
---> The ccow jumpedd ovverr thhe mooon.
-
- 5. 好了,該行已經(jīng)修正了,下一節(jié)內容是第一講第四節(jié)。
-
- 特別提示∶在您瀏覽本教程時,不要強行記憶。記住一點∶在使用中學習。
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第一講第四節(jié)∶文本編輯之插入
-
-
-
** 在正常模式下,可以按下 i 鍵來插入文本。**
-
- 1. 請將光標移動到本節(jié)中下面標記有 ---> 的第一行。
-
- 2. 為了使得第一行內容雷同于第二行,請將光標移至文本第一個字符準備插入
-
的位置。
-
- 3. 然后按下 i 鍵,接著輸入必要的文本字符。
-
- 4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
-
重復步驟2至步驟4以便修正句子。
-
-
---> There is text misng this .
-
---> There is some text missing from this line.
-
- 5. 如果您對文本插入操作已經(jīng)很滿意,請接著閱讀下面的小結。
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第一講小結
-
-
- 1. 光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。
-
h (左移) j (下行) k (上行) l (右移)
-
- 2. 欲進入vim編輯器(從命令行提示符),請輸入∶vim 文件名 <回車>
-
- 3. 欲退出vim編輯器,請輸入以下命令放棄所有修改∶
-
-
<ESC> :q! <回車>
-
-
或者輸入以下命令保存所有修改∶
-
-
<ESC> :wq <回車>
-
- 4. 在正常模式下刪除光標所在位置的字符,請按∶ x
-
- 5. 在正常模式下要在光標所在位置開始插入文本,請按∶
-
-
i 輸入必要文本 <ESC>
-
-
特別提示∶按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
- 的命令。
-
- 好了,第一講到此結束。下面接下來繼續(xù)第二講的內容。
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講第一節(jié)∶刪除類命令
-
-
-
** 輸入 dw 可以從光標處刪除至一個單字/單詞的末尾。**
-
- 1. 請按下 <ESC> 鍵確保您處于正常模式。
-
- 2. 請將光標移動到本節(jié)中下面標記有 ---> 的那一行。
-
- 3. 請將光標移至準備要刪除的單詞的開始。
-
- 4. 接著輸入 dw 刪除掉該單詞。
-
-
特別提示∶您所輸入的 dw 會在您輸入的同時出現(xiàn)在屏幕的最后一行。如果您輸
-
入有誤,請按下 <ESC> 鍵取消,然后重新再來。
-
-
---> There are a some words fun that don't belong paper in this sentence.
-
- 5. 重復步驟3至步驟4,直至句子修正完畢。接著繼續(xù)第二講第二節(jié)內容。
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講第二節(jié)∶其他刪除類命令
-
-
-
** 輸入 d$ 從當前光標刪除到行末。**
-
- 1. 請按下 <ESC> 鍵確保您處于正常模式。
-
- 2. 請將光標移動到本節(jié)中下面標記有 ---> 的那一行。
-
- 3. 請將光標移動到該行的尾部(也就是在第一個點號‘.’后面)。
-
- 4. 然后輸入 d$ 從光標處刪至當前行尾部。
-
-
---> Somebody typed the end of this line twice. end of this line twice.
-
-
- 5. 請繼續(xù)學習第二講第三節(jié)就知道是怎么回事了。
-
-
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講第三節(jié)∶關于命令和對象
-
-
-
刪除命令 d 的格式如下∶
-
-
[number] d object 或者 d [number] object
-
- 其意如下∶
-
number - 代表執(zhí)行命令的次數(shù)(可選項,缺省設置為 1 )。
-
d - 代表刪除。
-
object - 代表命令所要操作的對象(下面有相關介紹)。
-
- 一個簡短的對象列表∶
-
w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
-
e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。
-
$ - 從當前光標當前位置直到當前行末。
-
- 特別提示∶
-
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
-
將看到光標的移動正如上面的對象列表所代表的一樣。
-
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講第四節(jié)∶對象命令的特殊情況
-
-
-
** 輸入 dd 可以刪除整一個當前行。 **
-
-
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
-
擊打兩次 d 就可以刪除掉光標所在的整行了。
-
- 1. 請將光標移動到本節(jié)中下面的短句段落中的第二行。
- 2. 輸入 dd 刪除該行。
- 3. 然后移動到第四行。
- 4. 接著輸入 2dd (還記得前面講過的 number-command-object 嗎?) 刪除兩行。
-
-
1) Roses are red,
-
2) Mud is fun,
-
3) Violets are blue,
-
4) I have a car,
-
5) Clocks tell time,
-
6) Sugar is sweet
-
7) And so are you.
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講第五節(jié)∶撤消類命令
-
-
-
** 輸入 u 來撤消最后執(zhí)行的命令,輸入 U 來修正整行。**
-
- 1. 請將光標移動到本節(jié)中下面標記有 ---> 的那一行,并將其置于第一個錯誤
-
處。
- 2. 輸入 x 刪除第一個不想保留的字母。
- 3. 然后輸入 u 撤消最后執(zhí)行的(一次)命令。
- 4. 這次要使用 x 修正本行的所有錯誤。
- 5. 現(xiàn)在輸入一個大寫的 U ,恢復到該行的原始狀態(tài)。
- 6. 接著多次輸入 u 以撤消 U 以及更前的命令。
- 7. 然后多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接著輸入 R 鍵) ,這樣就
-
可以執(zhí)行恢復命令,也就是撤消掉撤消命令。
-
-
---> Fiix the errors oon thhis line and reeplace them witth undo.
-
- 8. 這些都是非常有用的命令。下面是第二講的小結了。
-
-
-
-
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
第二講小結
-
-
- 1. 欲從當前光標刪除至單字/單詞末尾,請輸入∶dw
-
- 2. 欲從當前光標刪除至當前行末尾,請輸入∶d$
-
- 3. 欲刪除整行,請輸入∶dd
-
- 4. 在正常模式下一個命令的格式是∶
-
-
[number] command object 或者 command [number] object
-
其意是∶
-
number - 代表的是命令執(zhí)行的次數(shù)
-
command - 代表要做的事情,比如 d 代表刪除
-
object - 代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。
-
$ (to the end of line), etc.
-
- 5. 欲撤消以前的操作,請輸入∶u (小寫的u)
-
欲撤消在一行中所做的改動,請輸入∶U (大寫的U)
-
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入∶CTRL-R
|