一般系統都會帶有vim與vi的作用功能相同,不同之處是vim對於關鍵字和參數都會添加顏色標示。
vi有三種模式,命令模式、輸入模式、末行模式
一、命令模式:實現控制功能,如:移動光標、複製、粘貼、剪切、刪除等等。
二、輸入模式:編輯內容。
三、末行模式:保持文本、退出、字符串替換、列出行號等功能。
vi一個不存在的文件之後可以直接編輯文件,但是必須保持。該文件纔會保持下來,否則退出之後文件不存在。
一、命令模式
1、光標移到操作:
h、j、k、l |
分別將光標向左、下、上、右移到 |
|
k |
|
h |
|
l |
|
j |
|
num+[h|j|k|l] |
表示向對應的方向移到num個字符/行數 |
num+enter |
表示到num行之後 |
:+num+enter |
表示到第num行 |
H |
將光標定位到當前頁面的首行首個字符 |
L |
將光標定位到到期頁面的末行首個字符 |
gg |
跳到文本首行首個字母 |
G |
跳到文本末行首個字母 |
0 |
將光標定位到行首 |
E/$ |
將光標定位到行末 |
e |
將光標移到下一個單詞尾部 |
b |
將關標移到上一個單詞首部 |
w |
將光標移到下一個單詞首部 |
B |
將光標移到上一個空格之前 |
W |
將光標移到下一個空格之後 |
ctrl+f |
向下翻頁 |
ctrl+b |
向上翻頁 |
( |
移到上一個句子行首(句子區分方式:符號+空格|換行) |
) |
移到下一個句子行首(句子區分方式:符號+空格|換行) |
{ |
移到到上一個空白行 |
} |
移動到下一個空白行 |
2、複製選中操作
yy |
複製光標所在行 |
num+yy |
複製光標所在行起的num行 |
p |
在光標所在行後粘貼複製板內容 |
P |
在光標所在行前粘貼複製板內容 |
v |
開啓橫向選中模式,並以光標所在地爲複製開始點。然後結合光標移到操作,選中跟多內容。(再次按將退出選中) |
V |
開啓橫向選中模式,並複製當前光標所在行。然後結合光標移到操作,選中跟多內容。(再次按將退出行選中,第三次按將退出選中模式) |
ctrl+v |
進入縱向選中,並以光標所在地爲複製開始點。然後結合光標移到操作,選中跟多內容。(再次按將退出選中) |
3、刪除操作
d+[num]+[h|l] |
h代表向前刪除num個字符,l代表向後刪除num個字符 |
d+[num]+[j|k] |
j代表向下刪除num行,k代表向上刪除num行 |
dd |
刪除光標所在行 |
D |
刪除光標所在行中光標後的所有字符 |
num+dd |
刪除光標起num行 |
x |
刪除光標所在字符 |
4、進入輸入模式方法:
O |
在光標所在行的前一行輸入 |
o |
在光標所在行的後一行輸入 |
i |
在光標前位置輸入 |
I |
在行首輸入 |
a |
在光標後輸入 |
A |
在行尾輸入 |
s |
刪除光標所在字符,然後進入輸入 |
S |
刪除光標所在行(行保留爲空白行),然後輸入 |
5、撤銷操作:
u |
撤銷上一步操作,可以撤銷到最初始修改時 |
二、末行模式
:+command |
執行命令 |
/+字符 |
向下查找字符 |
?+字符 |
向上查找字符 |
:q |
退出不保存 |
:q! |
強制退出不保存 |
:wq |
寫保存 |
:wq! |
強制寫保存 |
:x |
寫保存 |
:x! |
強制寫保存 |
command舉例
:cd dir |
到dir目錄去(子shell) |
:sp |
縱向分屏顯示 使用ctrl+w 然後加方向鍵控制移動到相應屏幕 |
:vsp |
橫向分屏顯示 使用ctrl+w 然後加方向鍵控制移動到相應屏幕 |
:vsp/sp +filename |
分屏打開filename |
:s/1/2/ |
只將第一個匹配到的1替換爲2 |
:s/1/2/g |
把當前行中所有的1都換爲2 |
:1,5s/1/2/g |
把1到5行的所有的1都換爲2 |
:%s/1/2/g |
把文本中的所有1都換爲2 |