vi是Linux下默認的編輯器,有兩種工作模式:命令模式和文本輸入模式
命令模式:輸入的字符被解釋爲vi命令,文本模式切換至命令械:esc鍵
文本輸入模式:輸入的字符爲可編輯的文本,命令模式切換至文本模式:i
1.打開文件的命令選項--7
序號 | vi使用的選項 | 說明 |
1 | vi filename | 打開或者新建一個文件,並將光標置於第一行的首部 |
2 | vi -r filename | 恢復上次vi打開時崩潰的文件(-要加上) |
3 | vi -R filename | 把指定的文件以只讀方式放入編輯器中 |
4 | vi + filename | 打開文件,並將光標置於第n行的首部(+號要加,並且前後是空格) |
5 | vi +n filename | 打開文件,並將光標置於第n行的首部 |
6 | vi +/pattern filename | 打開文件,並將光標置於第一個與pattern匹配的位置 |
7 | vi -c command filename | 在對文件編輯前,先執行指定的命令 |
2.移動光標類命令--18--命令模式下
序號 | 按鍵或字符 | 說明 |
1 | h/Backspace鍵 | 光標左移一個字符 |
2 | l | 光標右移一個字符 |
3 | k/Ctrl+p | 光標上移一個字符 |
4 | j/Ctrl+n | 光標下移一個字符 |
5 | Enter鍵 | 下移一行 |
6 | w/W | 右移一個字到字首 |
7 | b/B | 左移一個字到字首 |
8 | e/E | 右移一個字到字尾 |
9 | nG | 移動到第n行首部 |
10 | n+ | 光標下移n行 |
11 | n- | 光標上移n行 |
12 | n$ | 基於當前所在行,再向後移動n行至行尾 |
13 | H | 移動至當前 屏幕的頂行 |
14 | M | 移動至當前屏幕的中間行 |
15 | L | 移動到當前屏幕的最底行 |
16 | 0 | 移動光標至當前行首(注意是數字0) |
17 | $ | 光標移至當前行尾 |
18 | :$ | 光標移動至文件最後一行的行首 |
3.屏幕翻滾類命令--命令模式
序號 | 按鍵或字符 | 說明 |
1 | ctrl+u | 基於當前屏幕,向文件首翻半屏 |
2 | ctrl+d | 基於當前屏幕,向文件尾翻半屏 |
3 | ctrl+b | 基於當前屏幕,向文件首翻一屏 |
4 | ctrl+f | 基於當前屏幕,向文件尾翻一屏 |
5 | nz+Enter | 將文件的第n行滾至屏幕頂部,如果不指定n,將當前行滾至頂部 |
4.插入與刪除文本類命令--12--命令模式
序號 | 按鍵或字符 | 說明 |
1 | Esc鍵 | 返回命令行模式 |
2 | i | 在光標前輸入文字/進入文本編輯模式 |
3 | a | 光標後輸入文字 |
4 | o | 當前行之下,新開一行 |
5 | O | 當前行之上,新開一行 |
6 | r | 替換光標所在字符,輸入r命令後,輸入新字符即可 |
7 | x | 替換光標所在的字符 |
8 | dd | 刪除光標所在的行,刪除後的內容保存在剪貼板 |
9 | yy | 將光標所在行復制到剪貼板,前面加數字,可複製多行 |
10 | p | 將剪貼板內容複製到光標後 |
11 | P | 將剪貼板內容複製到光標前 |
12 | yw | 將光檔所在的單詞複製到剪貼板 |
5.搜索及替換類命令--8----命令行模式
序號 | 按鍵或字符 | 說明 |
1 | /abc | 在文件中向前查找字符串abc |
2 | ?abc | 在文件中向後查找字符串abc |
3 | n | 在同一方几重複上次的搜索命令 |
4 | N | 在相反方向重複上次的搜索命令 |
5 | :s/a1/a2/g | 將當前光標所在行中的所有a1均用a2替換 |
6 | :n1,n2s/a1/a2/g | 將文件文件第n1行至n2行中所有a1均用a2替換 |
7 | :g/a1/a2/g | 將文件中所有的a1均用a2替換 |
8 | :set nu | 給文件的每行加上行號 |
6.保存與退出類--8---命令行模式
序號 | 按鍵或字符 | 說明 |
1 | :wq | 保存並退出vi |
2 | :wq! | 不保存,強制退出 |
3 | :q | 不保存,退出 |
4 | :q! | 不保存,強制退出 |
5 | :w | 保存不退出 |
6 | :w! | 強制保存 |
7 | :w filename | 相當於另存爲名爲filename的文件 |
8 | x! | 保存文件並退出,更常用 |