Vi文檔

Vi簡介

  1. Vi是一種普遍存在於各類UNIX和Linux系統中的文本編輯程序。
  2. Vi不是排版程序,只是一個純粹的文本編輯程序。
  3. Vi是全屏幕文本編輯器,它沒有菜單,只有命令。
  4. Vi不是基於窗口的,因此,這個多用途編輯程序能夠用於在任何類型的終端上編輯各式各樣的文件。
  5. Vi的功能十分強大,可是命令繁多,熟練掌握起來有必定難度。
  6. Vi的發明者:bill joy

Vi的啓動

$ Vi  filename  或者$ Vi
若是filename已經存在,Vi會打開現存文件
若是是一個新文件,Vi會建立它編輯器

Vi的退出

在命令行模式下輸入:q,:q!,:wq或者:x,能夠退出Vi
:w                  保存
:w filename         另存爲filename
:wq!                保存並退出
:wq! filename       以filename爲文件名保存後退出
:q!                 不保存退出
:x                  保存並退出,功能和:wq!相同命令行

Vi的工做模式

Vi有三種工做模式,分別爲:命令模式、插入模式(編輯模式)和末行模式,三種模式分別進行不一樣的操做,它們之間能夠進行切換。字符串

  1. 命令模式:進入Vi後,首先進入的就是命令模式,等待用戶輸入編輯命令,此時輸入的字母將做爲編輯命令來解釋。
  2. 插入模式:在命令模式下輸入插入命令i、附加命令a、打開命令o等命令能夠進入插入模式,在插入模式下,用戶輸入能夠對文本進行編輯,輸入的任何字符都被看成文件內容保存起來。【Esc】鍵能夠返回命令模式。
  3. 末行模式:在命令模式下,按【:】鍵能夠進入末行模式,Vi光標會顯示在窗口的最後一行,以「:」做爲末行模式的提示符,等待用戶輸入命令。末行命令執行後,Vi自動回到命令模式。

Vi命令大全

一、移動光標
h或者向左方向鍵:光標向左移動一個字符
l或者向右方向鍵:光標向右移動一個字符
k或者向上方向鍵:光標向上移動一個字符
j或者向下方向鍵:光標向下移動一個字符
【Ctrl】+f:         屏幕「向下」移動一頁,至關於【PageDown】
【Ctrl】+b:         屏幕「向上」移動一頁,至關於【PageUp】
0:                  數字0,移動到這一行的最前面一個字符處
$:                  移動到這一行的最後一個字符處
G:                  移動到這個文件的最後一行
gg:                 移動到這個文件的第一行
n【Enter】:         n是一個數字,光標向下移動n行

二、搜索與替換
/str:從光標開始,向下尋找一個名爲str的字符串。
?str:從光標開始,向上尋找一個名爲str的字符串。
:n1,n2s/str1/str2/g:n1與n2爲數字,在第n1行與n2行之間尋找str1         這個字符串,並將該字符串替換成str2

:1,$s/str1/str2/g:從第一行到最後一行尋找str1字符串,並將該字符             串替換爲str2

:1,$s/str1/str2/gc:從第一行到最後一行尋找str1字符串,並將該字                 符串替換爲str2,且在替換前提示符給用戶確認   是否須要替換

三、刪除、複製與粘貼
x,X:x爲向後刪除一個字符,X爲向前刪除一個字符
nx:n爲數字,爲連續向後刪除n個字符
dd:刪除光標所在的那一整行
ndd:n爲數字,從光標位置開始,刪除向下n列,如20dd則是刪除20列。
yy:複製光標所在的那一行
nyy:n爲數字,複製光標所在的向下n行,如20yy則是複製20行
p,P:p爲將複製的數據粘貼到光標的下一行,P則爲粘在光標的上一行。
u:復原前一個操做
【Ctrl】+r:重作上一個操做
.:小數點,重複前一個動做,經常使用在重複刪除、重複粘貼。

四、插入模式
i,I:插入:在當前光標所在處插入輸入文字,已存在的文字會向後    退,其中i爲從當前光標所在位置前開始插入,I將光標移到當前 行的行首,而後開始插入。

a,A:a爲從當前光標所在的下一個字符開始插入,A爲從光標所在行的 最後一個字符處開始插入

o,O:這是英文字母o的大小寫,o爲在當前光標所在的下一行插入新的 一行,O爲在當前光標所在處的上一行插入新的一行。

r,R:替換:r爲替換光標所在的那一個字符;R會一直替換光標所在的 文字,直到安下【Esc】鍵爲止。

五、文件操做相關
:w:保存文件
:w filename:另存爲filename
:n1,n2 w filename!:將n1行到n2行的內容保存到filename中
:n w filename:將第n行保存到filename中
:l,. w filename:將從第一行起到光標當前位置的內容保存到        filename中
:.,$ w filename:將從光標當前位置到文件結束的內容保存到                 filename中
:r filename:打開另一個文件filename
:e filename:編輯新文件filename代替原有內容
:f filename:把當前文件更名爲filenamefile

相關文章
相關標籤/搜索