?級版


目錄


1. 進入退出

進入命令示例

說明

vi

進入vi編輯器,類似于打開window文本編輯器軟件

vi linuxLean.txt

用vi編輯器打開 linuxLean.txt 文件

vi ??+13?? linuxLean.txt

用vi編輯器打開 linuxLean.txt 文件,并且光標(biāo)定位在13行,??+號要輸入??

vi ??+?? linuxLean.txt

用vi編輯器打開 linuxLean.txt 文件,并且光標(biāo)定位在尾行

vi ??+/查找字符串?? linuxLean.txt

打開 linuxLean.txt 文件,光標(biāo)定位在第一次出現(xiàn)??查找字符串??的行首

退出命令示例

說明

w

保存修改,但不退出

wq

保存修改且退出

q

退出,但文件有修改則報錯

q??!??

強制退出,不保存任何修改

w ??文件名001.txt??

保存文件為 ??文件名001.txt??, 但如果存在則報錯

w??!?? ??文件名001.txt??

保存文件為 ??文件名001.txt??, 如果存在則覆蓋

2. 三種模式

命令模式(??按Esc鍵??),末行模式(??按: / ?鍵??),編輯模式(??按i a o鍵?? ) 默認進入vi是命令模式

??i??在光標(biāo)當(dāng)前位置插入

??大寫I??在光標(biāo)當(dāng)前行??最左??邊插入

??a??在光標(biāo)當(dāng)前位置的后一個字符位置插入

??大寫A??在光標(biāo)當(dāng)前行??最右??邊插入

??o??在當(dāng)前行的??下??面插入新的一行

??大寫O??在當(dāng)前行的??上??面插入新的一行

3. 光標(biāo)移動

命令模式下:

  • hjkl鍵 和 按方向鍵都可以移動光標(biāo),h:向左,l:向右,j:向下,k:向上
  • ngg 調(diào)到n行的行首
  • G光標(biāo)定位最后一行的行首
  • nG光標(biāo)定位到n行的行首
  • Ctrl+G最底部顯示當(dāng)前光標(biāo)位置,一共多少行
  • 0(數(shù)字零)光標(biāo)移動到當(dāng)前行行首
  • $光標(biāo)移動到當(dāng)前行的行尾

4. 文本修改

  • yy復(fù)制當(dāng)前行(yank的首字母)
  • nyy 復(fù)制當(dāng)前行及其后的n-1行,
  • 使用小寫p鍵來粘貼(paste)至光標(biāo)后面
  • 使用大寫P鍵來粘貼(paste)至光標(biāo)前面
  • dd刪除光標(biāo)所在行
  • ndd刪除當(dāng)前行及其后的n-1行
  • u鍵撤銷上一步操作
  • x刪除光標(biāo)所在的字符

5. 查找替換

  • /要搜索的字符串 從光標(biāo)開始處向文件尾搜索,后按下n下一個匹配出
  • s/p1/p2/g 將文件中所有的p1均用p2替換
  • s/p1/p2/cg 替換時需要確認
  • 1,m s/p1/p2/g 從第1行到第m行,將文件中所有的p1均用p2替換
  • 1,$ s/p1/p2/g 在整個文件內(nèi)容里面,將文件中所有的p1均用p2替換
    s:substitute 替換 g:global 全局 c:confirm確認

文本命令說明: vi中的文本修改命令組成一般是 ??[光標(biāo)定位] [選擇文本] 修改??

示例如下:

  1. 刪除從當(dāng)前行開始的5行 ??修改??
5dd

  1. 在整個文本中替換aaaa為 bbbb ??選擇文本 修改??
1,$ s/aaaa/bbb/g

  1. 刪除從16行到20行的所有內(nèi)容 ??光標(biāo)定位 修改??
16G 5dd

  1. 將第3行至第7行的文本復(fù)制到第1行的行首 ??光標(biāo)定位 選擇文本 修改??
3G 5yy 1GP

6. 設(shè)置環(huán)境

常用的設(shè)置,命令行模式下

  • ??set number 或 set nu?? 顯示行號
  • ??set nonumber?? 隱藏行號
  • ??set terse?? 錯誤信息按照簡短的方式展示
  • ??set report = n?? 表示編輯影響n行以上則在狀態(tài)行上展示報告信息,n=0 表示每次編輯都展示報告