文章目錄
-
- vi
-
- vi的三種模式
- 三種模式的切換
- 常用指令
-
- 1.光标
- 2.查找替換
- 3.删除、複制、粘貼
- 4.進入編輯模式
- 5.儲存、退出
vi
vi的三種模式
-
一般指令模式(command mode):
光标的移動,搜尋,替換,删除字元,删除整行,複制整行,粘貼整行。
-
編輯模式(insert mode):
插入或替換編輯檔案内容。
底下會顯示
,INSERT
字樣。REPLACE
-
指令行模式(command-line mode):
讀取、儲存、批量替換等其他額外功能。
三種模式的切換
- 其他模式 -> 一般指令模式:
ESC
- 一般指令模式 -> 編輯模式:
,i/I
,o/O
,a/A(插入)
,r/R(替換)
- 一般指令模式 -> 指令行模式:
,:
,/
?
常用指令
1.光标
移動一個字元:方向鍵
上下左右
、
ijhk
上下翻頁:
Ctrl + f(向下)
,
+ b(向上)
行首:
,
Home
行尾:
$
,
End
檔案首行:
gg
檔案末行:
G
向下n行:
n <Enter>
2.查找替換
向下查找word:
/word
,(?word 向上)
替換n1與n2行之間的 word1 為 word2:
:n1,n2s/word1/word2/g
替換全文的 word1 為 word2:
:1,$s/word1/word2/g
或
:%s/word1/word2/g
1
最後的
/g
如果改成
/gc
表示替換前需确認
3.删除、複制、粘貼
删除:
x
:相當于del、
X
:相當于backspace
剪切整行:
dd
複制整行:
yy
粘貼:
p
:粘貼到光标下一行,P:粘貼到光标上一行
撤銷:
u
重做:
ctrl + r
注意:
ndd,nyy:相當于n次dd,n次yy
d,y後面加1G,G,$,0:分别表示從光标處一直到首行,末行,行尾,行首
例如d1G表示删除目前行到首行,y0表示複制目前字元到行尾
4.進入編輯模式
i :從目前光标所在處輸入
I :在目前所在行的第一個非空格符處開始輸入
a :從目前光标所在的下一個字元處開始輸入』
A :從光标所在行的最後一個字元處開始輸入』
o :在目前光标所在的下一行處輸入新的一行』
O :在目前光标所在處的上一行輸入新的一行
r :隻會取代光标所在的那一個字元一次
R:會一直取代光标所在的文字,直到按下 ESC 為止
5.儲存、退出
:w :儲存
:w! :強制儲存
:q :關閉
:q! :強制關閉(不儲存)
:wq :儲存關閉
:wq! :強制儲存關閉
:w [filename] :另存為
:set nu :顯示行号
:set nonu :取消顯示行号