歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用VIM編輯器

使用VIM編輯器

日期:2017/2/28 15:50:14   编辑:Linux教程

Vim 自產生以來,歷經不斷革新,現在最新版的 Vim 已經具有很強大的功能,使用戶能夠更加輕松、便捷地使用它。
1Vim 的工作模式
1.1命令模式
開始進入 Vim 時處於命令模式,如果已經處於插入模式或末行模式,按<ESC>鍵可回到命令模式。在這種模式下,只能用按鍵指令,不能輸入文字。
1.2插入模式
插入模式就是要把文本插入到要編輯的文件,插入位置根據所用的命令不同而不同。
從命令模式進入插入模式需要鍵入 i、a 、o、 r 及 I、A、 O、R等命令。在完成文本的輸入後,必須用<ESC>鍵返回命令模式。
1.3末行模式
末行模式因命令出現在屏幕的最底部一行而得名。在命令方式下,鍵入某些特殊字符,如/、?、 :等,光標跳到屏幕末行並顯示鍵入的末行字符,此時鍵入命令後回車,Vim 會根據需要在末行顯示出一定的響應信息,同時將自動回到命令狀態。
2 Vim 編輯文件的基本過程
在命令行鍵入 Vim testfile,其中 testfile 代表要打開的文件名,如果文件不存在,Vim 將自動新建一個名為 testfile 文件。
進入 Vim 後,按<i>鍵進入插入模式,即可進行文件的編寫工作。光標可以由方向鍵來移動。
<BackSpace>鍵可以刪去前一個字符。
寫好文件後按<ESC>鍵可回到命令模式,然後用:w 存檔(注意,是冒號命令),這時還不會離開
Vim,要離開可按:q,也可以合起來用:wq,代表保存後離開。
2.1光標的移動
注意:本節所述都是在命令模式下的操作。
2.1.1
基本的光標移動
左 h Backspace 或左方向鍵
下 j Enter 或+或下方向鍵
上 k -或上方向鍵
右 l Space 或右方向鍵
向下翻頁 Ctrl+f PageDown
向上翻頁 Crtl+b PageUp
2.1.2復雜光標移動
0 移至行首,或是<Home>鍵
~ 移至第一個非空白字符
$ 移至行尾,或<End>鍵
G 移至文件尾(最後一行的第一個非空白字符處)
gg 移至文件首(第一行第一個非空白字符處)
w 移至下一個字首
W 同上,但會忽略一些標點符號
e 移至後一個字字尾
E 同上,但會忽略一些標點符號
b 移至前一個字字首
B 同上,但會忽略一些標點符號
H 移至屏幕頂部第一個非空白字符
M 移至屏幕中間第一個非空白字符
L 移至屏幕底第一個非空白字符
n| 移至第 n 個字符處
:n 或 n G 移至第 n 行行首,注:n 表示具體數字,如 1,2,3......
) 移至下一個句首
( 移至上一個句首
} 移至下一個段落首
{ 移至上一個段落首

2.2基本編輯指令
2.2.1進入插入模式指令
i 在光標所在字符前開始輸入文字(insert)
a 在光標所在字符後開始輸入文字(append)
o 在光標所在行下開一新行來輸入文字(open)
I 在行首開始輸入文字
A 在行尾開始輸入文字
O 在光標所在行上開一新行來輸入文字
J 將下一行整行連接到本行(joint)
2.2.2刪除指令
x 刪除光標所在處的字符。也可用<Del>鍵。
X 刪除光標所在位置前的字符。
dd 刪除一整行。
dw 刪除一個字(delete word)。
dG 刪至文件尾。
D 刪至行尾,或 d$(含光標所在處字符)。
d^ 刪除當前光標到行首的字符
d$ 刪除當前光標到行尾的字符
2.2.3取代及還原
r 取代光標所在處的字符。
R 取代字符直至按<Esc>為止。
cc 取代整行內容。或大寫 S 亦可。
cw 替換一個英文字。
~ 光標所在處之大小寫轉換。
C 取代至行尾,即光標所在處以後的字都會被替換。或 c$。
c0 取代至行首,或 c~。
u 撤銷前面的操作,即 undo,撤銷的次數是沒有限制的。
U 在光標沒離開本行之前,回復所有編輯動作。
2.2.4復制
yy 復制光標所在行整行。或一個大寫 Y。
2yy 復制兩行。
y0 復制至行首,不含光標所在處字符。
y$ 復制至行尾。含光標所在處字符。
yw 復制一個字。
yG 復制至文件尾。
y1G 復制至文件首。
2.2.5查找與替換
查找
/ 按/會在左下角出現一個/,鍵入要查找的字串,按回車開始查找。
? 和/相同,只是/是向前(下)找,?則是向後(上)找。
n 繼續查找。
N 繼續尋找(反向)。
* 尋找光標所在處的字(要完全符合)。
# 同上,但*是向前(下)找,#則是向後(上)找。
g* 同*,但部分符合即可。
g# 同#,但部分符合即可。
替換
語法:[range]s/pattern/string/[c,e,g,i]
用 string 替代 pattern。Range 指的是范圍,1,7 指從第一行至第七行,1,$指從第一行至最後一行,也就是整篇文章,也可以%代表;c 每次替換前會詢問;e 不顯示 error;g 不詢問,整行替換;i 不分大小寫。
2.3 離開
:q 如文件有修改而沒保存,會警告,且無法離開。
:q! 放棄所有修改,強迫離開。
:wq 保存文件後離開,即使文件沒有修改也會再保存一次。
:x 保存文件後離開,但如果文件沒有修改,則不會做保存的動作。
:ZZ 和:x 完全一樣。
:w 另存,不加文件名就是寫入原文件。

Copyright © Linux教程網 All Rights Reserved