vi編輯器的三種模式
-
1、命令模式(command mode)—執行命令
在該模式中,可以輸入命令來執行許多種功能。控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。
2、輸入模式(Insert mode)—輸入文本
vi被運行時,通常處在命令模式下,鍵入以下命令 可以使vi退出命令模式,進入輸入模式:I(i)、A(a)、O(o)。
3、末行模式(last line mode)—執行待定命令
將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。不過一般我們在使用時把vi簡化成兩個模式,就是將末行模式(last line mode)也算入命令行模式command mode)。
vi編輯器的啓動與退出
-
1. vi的啓動
輸入vi命令後,便進入全屏幕編輯環境,此時的狀態爲命令模式。
(1) vi
進入vi的一個臨時緩衝區,光標定位在該緩衝區第1行第1列的位置上。
(2) vi file1
如果file1文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩衝區。光標定位在該緩衝區第1行第1列的位置上。
(3) vi + file1
如果file1文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩衝區。光標定位在文件最後1行第1列的位置上。
(4) vi +N file1(N:爲數字)
如果file1文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩衝區。光標定位在文件第N行第1列的位置上。
(5) vi +/string file1
如果file1文件不存在將建立此文件;如該文件存在則將其拷貝到一個臨時緩衝區。光標定位在文件中第一次出現字符串string的行首位置。
2. 退出vi(末行模式(last line mode))
建議在退出vi前,先按ESC鍵,以確保當前vi的狀態爲命令方式,然後再鍵入“:”(冒號),輸入下列命令,退出vi。
(1) :w
將編輯緩衝區的內容寫入文件,則新的內容就替代了原始文件。這時並沒有退出vi,必須進一步輸入下述命令才能退出vi:
:w filename(存入指定文件)
:q
(2) :wq
即將上面的兩步操作可以合成一步來完成,先執行w,後執行q。
(3) :x和ZZ(注意: ZZ前面沒有“:”)
功能與(2)等價。
(4) :q!(或:quit)
強行退出vi,使被更新的內容不寫回文件中。僅鍵入命令:q時,如vi發現文本內容已被更改,將提示用戶使用“:quit”命令退出。
vi編輯器常用命令
-
1、在文件中移動光標
h:向左移動一個字符
l:向右移動一個字符
j:向下移動一行
k:向上移動一行
^(即Shift+6):移動到當前行的開頭處
$(即Shift+4):移動到當前行的結尾處
H(大寫):使光標移動到屏幕的頂部
M(大寫):使光標移動到屏幕的中間
L(大寫):使光標移動到屏幕的底部
Ctrl+b:上滾一屏。
Ctrl+f:下滾一屏。
Ctrl+d:下滾半屏。
Ctrl+u: 上滾半屏。
2、插入文本
(1)添加:
●輸入a後,在光標的右邊插入文本
●輸入A,在一行的結尾處添加文本
(2)插入:
●通過在命令模式下輸入i,在光標的左邊插入文本
●通過在命令模式下輸入I,在行首插入文本
(3)插入新行:
●輸入o,在當前光標位置下面打開一行
●輸入O,在當前光標位置上面打開一行
3、撤消更改
(1)撤消前一個命令:在最後一個命令之後立即輸入u來撤消該命令
(2)重複某個命令:“.”
(3)撤消對一行的更改:輸入U來撤消你對一行所做的所有更改,這個命令只有在你沒將光標移動到該行以外時才生效。
4、刪除文本
(1)刪除一個字符:
●爲刪除一個字符,需將光標放置在要刪除的字符上並輸入x
●爲刪除光標之前(其左邊)的一個字符,需輸入X
(2)刪除一個詞或詞的部分內容:
●爲刪除一個詞,需將光標放置到該詞的開頭並輸入dw
●爲刪除詞的部分內容,需將光標放置到該詞要保存部分的右邊。輸入dw來刪除該詞餘下的部分
(3)刪除一行:將光標放置到該行的任意處並輸入dd
(4)刪除多行:ndd
(5)刪除行的部分內容:將光標放置到該行要保存部分的右邊,並輸入D。爲刪除光標左邊的所有內容,須將光標放置到該行要刪除部分的右邊,並輸入d0(d-零)。
(6)刪除到文件的結尾:爲刪除從當前行到文件結尾的所有內容,需輸入dG
5、複製和移動文本
●複製一行命令:yy
●粘貼命令:p
●移動文本:先將要移動的部分用刪除命令刪除,然後再粘貼就可以了
●複製指定文件的內容
: r filename
6、查找一個字符串
●輸入/,並在/後面輸入要查找的串,然後按下回車
●輸入“n”跳轉到該串的下一個出現處
●輸入“N”跳轉到該串的上一個出現處
7、替換一個字符串
●在一行內替換頭一個字符串old爲新的字符串new
:s/old/new
●在一行內替換所有的字符串old爲新的字符串new
:s/old/new/g
●在兩行內替換所有的字符串old爲新的字符串new
:#,#s/old/new/g
●在文件內替換所有的字符串old爲新的字符串new
:%s/old/new/g
●進行全文替換時詢問用戶確認每個替換需添加c選項
:%s/old/new/gc
8、設置vi
●顯示行號
:set number
●取消行號顯示
:set nonumber
●設置顯示用戶模式
:set showmode
●設置文件只讀
:set readonly
-
-
來源網站:http://wiki.dzsc.com/info/7313.html#dzt25538