vi有三種工作狀態:命令狀態,文字插入狀態,最後一行狀態
ø命令狀態:是vi的初始狀態及一般狀態。在該狀態下輸入的內容均視為命令,呼叫命令後,若要返回初始狀態,則需按〈esc〉鍵。
注意:命令狀態下,其字母大小寫在vi中是意義不同的的命令
(小竅門:若不知道當前是在什麼狀態,可按幾次〈esc〉鍵,以確保處於命令狀態。)
ø插入狀態:在命令狀態呼叫插入命令後,進入插入狀態,在此狀態下輸入的內容被視為檔案內容,按〈esc〉鍵回到命令狀態。
ø最後一行狀態:用於儲存檔案、退出編輯、在vi中執行shell命令。在命令狀態下輸入引號中列出的任意一鍵均可進入該狀態:「:/ ? !」。若要轉換到命令狀態,按enter鍵即可。
在vi中執行shell命令時,在命令前需加字元「!」。
例:1 最後一行狀態下,執行shell的列表命令
:!ls
file1 file2.f test.c … (當前目錄中的檔案表)
… …press return or enter command to continue
插入命令(注意字母大小寫)
i 在游標前插入文字
i 在此行開始插入文字
a 在游標後插入文字
a 在此行未插入文字
o 在當前行下面加一空行並進入輸入方式
o在當前行上面加一空行並進入輸入方式
刪除、複製、移動命令
x 刪除當前字元
d$ 刪除當前行中從游標往後的所有字元
d0 刪除當前行中從游標往前的所有字元
dd 刪除當前行
ndd 刪除游標所在位置之下的n行
:n1 ,n2d
刪除n1行到n2行 (在最後一行狀態)
yy 將當前行複製到緩衝區
nyy 將游標所在位置之下的n行文字複製到緩衝區
p:將上一次刪除或複製的文字複製到游標的下方
p:將上一次刪除或複製的文字複製到游標的上方
說明:移動正文時需先用刪除命令將要移動的正文刪除,然後使用複製命令
游標移動命令
鍵盤的←↑→↓鍵 分別是左移,上移,右移,下移
o(數字), $ 移至當前行首和行尾
+h移動游標至當前視窗的起點
+l移動游標至當前視窗的末尾
+g (或g)移動游標至檔案的末尾
+f前翻一頁
+b後翻一頁
ng 移動游標至第n行
+g 顯示當前行號
j 將當前行與下一行連線
u 取消前乙個命令
查詢字元
/要查詢的字串(回車):查詢游標位置之後的字串
?要查詢的字串(回車):查詢游標位置之前的字串
n 繼續向同一方向查詢匹配的字串
n 繼續進行反方向查詢匹配的字串
* 在查詢的字串中可匹配任意字元
? 在查詢的字串中可匹配乙個字元
修改字元
r 只替換游標位置上的乙個字元
r 用重寫的方法替換原來的字串,結束替換按鍵
:[n1,n2]s/舊字串/新字串/g用新文字替換n1~n2行內的所有舊字串, n1,n2預設時只修改當前行
:g/舊文字/s//新文字/g用新文字替換緩衝區內找到的所有舊文字
. 重複上一次修改
u 取消上一次修改
u 將當前行恢復到修改前的狀態
常用功能選項的設定
功能選項將改變vi的顯示環境,使用者可在檔案$home/.exrc中設定自己的選項,如沒有此檔案,則使用預設設定。set命令在vi的最後一行命令狀態使用。
set 顯示與預設不同的設定
set all 顯示所有設定
set ai/noai 自動/不自動縮排
set nu/nonu 顯示/不顯示行號
set list/nolist 顯示/不顯示不可列印字元
set showmode/noshowmode顯示/不顯示當前操作模式
set ts=4 設定鍵為4個空格
set ic/noic 忽略/不忽略大小寫
檔案的讀寫和退出
vi中檔案的讀寫命令均在最後一行狀態命令實現
w 將緩衝區內容寫入原檔案
w file2 將緩衝區內容寫入檔案file2
w >>file2 將緩衝區內容附加到檔案file2的後面
q 退出vi
q! 強行退出vi,不改寫檔案
r file2 將file2中的內容讀入到緩衝區當前行後
wq 存檔退出
!shell 執行shell命令
! 退出shell命令
vi使用方法
vi是 unix 上最常用的文字編輯工具,作為 unix 軟體測試人員,有必要熟練掌握它。進入 vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pat...
VI使用方法
功能最強在的編輯器 vi vi是所有unix系統都會提供的螢幕編輯器,它提供了乙個視窗裝置,通過它可以編輯檔案。當然,對unix系統略有所知的人,或多或少都覺得vi超級難用,但vi是最基本的編輯器,所以希望讀者能好好把它學起來,以後在unix世界裡必將暢行無阻 游刃有餘,因為其他幾種文字處理器並非u...
vi 使用方法
vi 使用方法 vi編輯器是所有unix及linux系統下標準的編輯器,它的強 大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的用法和一小部分指令。由於對unix及linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步了解它。vi也是linux中最基本的...