
一. 添加文本
光標的移動與定位
(1) 光標的移動命令。
h
、j
、k
、l
:光標向左、下、上、右移動一個字符
w
:以單詞為單位向后移動光標
b
:以單詞為單位向前移動光標
e
:光標移動到該單詞的詞尾
(
)
:光標移到到句首、句尾
{
}
:光標移動到段首、段尾
(2) 光標定位命令
$
:光標移動至行尾
0
:光標移至行首
f
:光標移動指定的字符下
[n]G
:光標定位到第n行。其中,n為可選的數字,為指定n時,默認光標移動最后一行。
(3) 在命令模式下,鍵盤上某些鍵可以實現對光標的定位和移動操作。
Home鍵
:光標移動至行首
End鍵
:光標移動至行尾
PageUp鍵
:向上翻頁
PageDown鍵
:向下翻頁
Backspace鍵
:貫標前移一個字符
Space鍵
:光標后移一個字符
Enter鍵
:光標下移一個字符
(4)屏幕的滾動:當文件比較大時,想要快速的定位到指定的頁時,就需要進行屏幕的滾動操作。
Ctrl+U鍵
:向上翻半屏
Ctrl+D鍵
:向下翻半屏
Ctrl+B鍵
:向上翻一屏
Ctrl+F鍵
:向下翻一屏常用的插入命令
a
:在光標位置后開始接收輸入。
A
:在行尾后開始接收輸入。
i
:在光標位置前開始接收輸入。
I
:在行首后開始接收輸入。
o
:在光標所在行之后開辟一個新的空行,并開始接收輸入。
O
:在光標所在行之前開辟一個新的空行,并開始接收輸入。
二. 刪除文本
刪除文本時,一般情況下,要保證當前處于命令模式下。
用戶在插入模式下進行文本錄入的時候,如果要刪除某個字符時,要先按Esc鍵,保證處于命令模式下,才能使用相關的刪除命令進行字符的刪除操作
x
:刪除光標處的單個字符。
X
:刪除光標左邊的單個字符。
D
:刪除一行文本。如果光標位于文本的中部,則刪除此行光標右邊的文本。
dd
:刪除光標所在行的文本。
J
:當前行與下一行合并為一行,光標置于第二行,即刪除當前行的行尾處的換行符。d+定位符
:刪除從光標位置到指定位置范圍內的字符。d0
:刪除光標所在行左邊的文本。D$
:刪除光標所在行右邊的文本。dG
:刪除光標所在行之后的所有行。命令前加數時,表示刪除范圍擴大n倍
2x
:刪除光標處的兩個字符。5dd
:刪除5行。在命令模式下,可以按Delete鍵實現刪除光標處的字符,與x命令相同。
三. 文本的替換與修改
- 文本的替換是用一個字符替換另一個字符,或用多個字符替換一個字符或一行,是一種先刪除后插入的操作。按Esc鍵結束插入過程。
- 文本的修改是修改一部分文本的內容,先刪除指定范圍內的文本,然后插入新文本。按Esc鍵結束插入過程。
- 使用替換命令或修改命令,都要在命令模式下進行。
- 常用的替換命令
s
:用輸入的新文本替換光標處的字符。新文本可以為一個或多個字符。
S
:用輸入的新文本替換光標所在的行。如果不輸入新文本,則執行效果是正行文本都被刪除,變成一個空白行。
r
:用輸入的新字符替換光標處的字符。新字符指的是一個字符。
R
:用輸入的新文本逐個替換從光標處開始的各個字符。
2.常用的修改命令
c0
:修改光標左邊的字符。
c$
:修改光標右邊的字符。
c1
:修改光標處的字符。
cG
:修改光標所在行之后的所有行。
四 文本的剪切、復制、粘貼
在命令模式下執行。
yy
:復制光標所在的行。
y0
:復制光標左邊的文本內容。
y$
:復制光標右邊的文本內容。
p
:粘貼文本的內容到光標處。
dd
:剪切光標所在行的文本。
5yy
:復制五行
m,ny
:復制m到n行
五 撤銷與重復執行
- 在對文本的修改操作中,如果想取消剛剛執行的命令,則可以通過
u
命令進行文本的恢復。 - 如果重復執行剛才執行的命令,則可以通過“
.
”命令來重復執行上一個命令。
六 全文范圍的字符查找與替換
轉義模式下執行。
1. 關鍵字的查找
執行查找命令“/關鍵字
”,將從當前光標位置處開始查詢,直至如果能夠找到匹配的字符串,則光標將停留在第一個匹配字符串的首字符處。鍵入n
,可以繼續向后進行查找。當搜到文件尾后,鍵入n
,則返回文件頭部繼續查找。
2.字符串的替換
執行替換命令s
。基本格式如下
:[替換起始處,替換結束處]
s
/要被替換的字符串
/替換的字符串/
[g][c]
“^
”表示首行,“$
”表示末行。
g
選項:表示替換目標行中所有匹配的字符串。若沒有g,則只替換目標行中第一個匹配的字符串。
c
選項:表示替換以互動的方式進行,替換前會提示用戶進行確認。
eg:執行::1,$ s/is/are/g 替換從第一行開始到行末的所有is變成are
七 保存與退出命令
轉義模式下執行。
:q
:如果原文為修改,不保存文件,直接退出。
:q!
:不保存文件強制退出。
:wq!
:強制保存文件并退出。
:e!
:放棄修改,編輯區恢復為文件原樣。
:w
:保存當前文件
:w
路徑名
/
文件名
:另存為。
八. 高級應用
- 多窗口編輯
(1) 在vi中以此打開兩個文件
輸入命令vi 文件名,打開一個文件1
在一打開的文件1中,按Esc鍵
回到命令模式
進入末行模式,輸入命令:sp
文件名2
(2) 光標在兩個窗口中的切換
如果當前光標處于下面窗口的文件中,按Esc鍵
,Ctrl+W鍵
,鍵入k
,是光標定位到上面的窗口
如果當前光標處于上面窗口的文件中,按Esc鍵
,Ctrl+W鍵
,鍵入j
,是光標定位到下面的窗口
(3) 全文復制功能
執行命令 :r
被復制的文件名
(4) 關閉窗口
當多個窗口的文件全部編輯完畢后,依次使用退出命令關閉所有文件。
2.區域復制
- 打開某個文件,光標移動到需要復制的第一行
- 按
Esc鍵
,確保當前處于命令模式,在按Ctrl+V鍵
。 - 使用小鍵盤上的上、下、左、右方向鍵,進行區域選取。
- 鍵入
y
,結束區域選取。 - 光標移至目標位置,鍵入
p
,實現區域復制。
3.在vi中實現與shell的交互
執行命令:!Shell命令