什么是vi:
vi是Linux/Unix底下最常用的文本編輯器,可以理解為和Windows下的txt一樣,咱們一般操作linux服務器的時候都是沒有圖形化界面的, 怎么移動光標,到哪個位置,替換修改什么的都得用vi里面的操作
vi有兩種模式
命令模式
進入vi時的默認模式,此模式下所有的用戶輸入都視為命令
用戶在此模式下進行搜索、復制、替換等
編輯模式
用戶在此模式下可以編輯文本內容,也就是這個模式下,可以隨便輸入內容,編輯模式只有一個作用,就是輸入內容,其他的查找、粘貼、替換等等都得在命令模式下操作
模式切換
命令模式進入編輯模式:
i(當前位置
)
a(下一位置
)
o(下一行)
編輯模式進入命令模式:
esc
區分編輯模式和命令模式就看左下角有沒有insert,左下角如果有insert就是編輯模式。
下面介紹命令模式常用的操作,注意都是在命令模式下的
退出vi
|
1
2
3
4
5
|
:q 退出vi
:q! 不保存退出
:wq 保存退出
:x 保存退出
:w 保存
|
光標定位
|
1
2
3
4
5
6
7
8
9
|
M 移動光標到頁面中央
L移動光標到頁面尾處
H移動光標到頁面開始處
Ctrl+f向后翻頁
Ctrl+b向前翻頁
0移動光標到行首
$移動光標到行尾
/:從上往下開始查找,然后按n尋找下一個
?:從下往上開始查找,然后按n尋找下一個
|
撤銷、重復、查找
|
1
2
3
4
|
/xxx 從上往下開始查找
?xxx 從下往上開始查找
u 撤銷
. 重復前一個動作
|
復制、粘貼、刪除
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
nyy 復制光標所在的向下n行內容
p 在光標處粘貼復制的內容
ndd 刪除光標所在向下n行的內容
ctrl + d 往下翻半屏內容
ctrl + u 往上翻半屏內容
shift + g 到文件末尾
dd 刪除整行
:set number 顯示行號
:set nonu 取消顯示行號
:1,3y 復制第一行到第三行
:1,3d 刪除第一行到第三行
:1,3s/str/str_new/g 替換第一行到第三行中的字符串
:%s/str/str_new/g 替換所有行中的字符串
|
