vi是Linux下默認的編輯器,幾乎所有的Linux/UNIX都捆綁了vi。也可以用vim編輯器
vi編輯器有兩種工作模式:命令模式和文本輸入模式。
- Linux下用vi打開文件的命令選項:
打開文件選項 | 說明 |
---|---|
vi filename | 打開或是新建一個文件,并將光標置于第一行的首部 |
vi -r filename | 回復上次vi打開時崩潰的文件 |
vi -R filename | 把指定的文件以只讀的方式放入文本編輯器中 |
vi + filename | 打開文件并將光標置于文件的最后一行的首部 |
vi +n filename | 打開文件并將光標置于文件的最后n行的首部 |
vi +/pattern filename | 打開文件并將光標置于文件第一個與pattern匹配的位置 |
vi -c command filename | 在對文件進行編輯前,先執(zhí)行指令的命令 |
- vi命令模式下的命令:
- 移動光標類命令:
按的鍵或輸入的字符 | 說明 |
---|---|
h | 光標左移一個字符 |
l | 光標右移一個字符 |
backspace鍵 | 光標左移一個字符 |
k或Ctrl + p | 光標上移一個字符 |
j或Ctrl + n | 光標下移一個字符 |
enter鍵 | 光標下移一個行 |
w或W | 光標右移一個字到字首 |
b或B | 光標左移一個字到字首 |
e或E | 光標右移一個字到字尾 |
nG | 光標移動到第幾行首部 |
n+ | 光標下移n行 |
n- | 光標上移n行 |
H | 光標移至到當前屏幕頂行 |
M | 光標移至到當前屏幕中間行 |
L | 光標移至到當前屏幕最底行 |
- 屏幕翻滾類命令:
按的鍵或輸入的字符 | 說明 |
---|---|
Ctrl +u | 相當于當前屏幕,向文件首翻半屏 |
Ctrl +d | 相當于當前屏幕,向文件尾翻半屏 |
Ctrl +b | 相當于當前屏幕,向文件首翻一屏 |
Ctrl +f | 相當于當前屏幕,向文件尾翻一屏 |
nz+Enter | 將文件的第n行滾動至屏幕頂部,如果不指定n,將當前行滾動至屏幕頂部 |
3.插入與刪除類命令:
按的鍵或輸入的字符 | 說明 |
---|---|
Esc | 返回命令行模式 |
i | 在光標前輸入文字 |
a | 在光標后輸入文字 |
o | 在當前行之下新開一行 |
O | 在當前行之上新開一行 |
r | 替換光標所在字符,輸入r命令后,在鍵盤輸入需要替換的新字符即可完成替換 |
x | 刪除光標所在字符 |
dd | 刪除光標所在行。刪除后的內容自動保存到剪切板 |
yy | 將光標所在行復制到剪切板,如果yy前加上數字,可復制多行 |
p | 將剪切板的內容復制到光標后 |
P | 將剪切板的內容復制到光標前 |
yw | 將光標所在單詞復制到剪切板 |
4.搜索及替換命令:
按的鍵或輸入的字符 | 說明 |
---|---|
/abc | 在文件中向前查找字符串abc |
?abc | 在文件中向后查找字符串abc |
n | 在同一方向重復上一次的搜索命令 |
N | 在同相反方向重復上一次的搜索命令 |
:s/a1/a2/g | 將當前光標所在行上的所有a1替換成a2 |
:n1,n2/a1/a2/g | 將文件第n1行到第n2行上所有a1替換成a2 |
:g/a1/a2/g | 將文件中的所有a1替換成a2 |
:set nu | 給文件的每行加上行號 |
5.保存與退出類命令:
按的鍵或輸入的字符 | 說明 |
---|---|
:wq | 保存并退出vi編輯器,“:wq!”表示不保存,強制退出 |
:q | 不保存就退出vi編輯器,“:q!”表示不保存,強制退出 |
:w | 表示保存,但不退出vi編輯器。“:w!”表示強制保存;“:w filename”表示將修改保存到filename文件中,即另存為 |
x! | 保存文件,退出vi編輯器,更通用的一個vi命令 |