linux vi命令常用方法介紹

winston_DBA發表於2015-03-18
一、Vi三種模式介紹:
1、命令列模式:控制螢幕游標的移動,字元、字或行的刪除,移動複製某區段及進入Insert mode或 last line mode模式。
2、插入模式:只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令列模式。
3、Last line 模式:將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號等。
二、三種模式下命令介紹:
command模式:
1、I、a、o切換進入Insert mode。
i: 插入,從目前游標所在之處插入所輸入的文字。
a: 增加,目前游標所在的下一個字開始輸入文字。
o: 插入新的一行,從行首開始輸入文字。
2、移動游標
按Ctrl+B:螢幕往後移動一頁。
按Ctrl+F:螢幕往前移動一頁。
按 $:移到游標所在行的行尾。
按數字0:移到該行的開頭位置。
shift+g(或者直接按G): 移動到最後一行。
按gg:移動到第一行。
3、刪除文字
x:每按一次刪除游標所在位置的後面一個字元。
dd:刪除游標所在行。
4、複製黏貼
yy:複製游標所在行。
p: 在游標後黏貼
5、替代
r: 取代游標所在處的字元
6、重做與撤銷
撤銷:u
重做:ctrl + R
7、常用組合
ct+字元: 從游標當前字元到指定字元之間的內容被刪除,並進入insert模式。
Last line模式:
1、搜尋和替換:
/pattern:從游標開始處向檔案尾搜尋pattern 
?pattern:從游標開始處向檔案首搜尋pattern 
n:在同一方向重複上一次搜尋命令 
N:在反方向上重複上一次搜尋命令 
:s/p1/p2/g:將當前行中所有p1均用p2替代 
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代 
:g/p1/s//p2/g:將檔案中所有p1均用p2替換 
: %s##/u01/app/oracle :如果需要替換的字元中包含了/字元,則可用#或+等特殊字元來分割,達到/的效果。該命令將替換為/u01/app/oracle
例如:
$s/string/replae/g:在last line mode輸入“1,$s/string/replace/g”會將全文的string字串取代為replace字串,其中$s就是指搜尋區間為文章從頭至尾的意思,g則是表示全部取代不必確認。
2、寫入儲存
w:在last line mode提示符號“:”前按w即可將檔案存起來
3、退出
q:按q就離開,有時如果無法離開vi,可搭配“!:強置離開vi,如“q!”
qw:一般建議離開時,搭配w一起使用,如此離開時還可存檔案
Insert模式:
1、退出
ZQ 無條件退出
:q! 無條件退出
ZZ 存檔並退出
:wq 存檔並退出
三、介紹兩種方法可以實現臨時退出 Vi/Vim、進入 shell 環境後再回來的要求:
1、使用 Ctrl-z 以及 fg 這兩個命令組合。
 這一解決方法主要利用了 Linux/Unix 的作業機制。具體原理是:Ctrl-z 命令將當前的 Vi/Vim 程式放到後臺執行,之後 shell 環境即可為你所用;fg 命令則將位於後臺的 Vi/Vim 程式放到前臺執行,這樣我們就再次進入 Vi/Vim 操作介面並恢復到原先的編輯狀態。
2、使用行命令 :sh。
在 Vi/Vim 的正常模式下輸入 :sh即可進入 Linux/Unix shell 環境。在要返回到 Vi/Vim 編輯環境時,輸入 exit 命令即可。
這兩種方法實現機制不一定,但效果一樣,都非常快捷有效。













來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30167136/viewspace-1464706/,如需轉載,請註明出處,否則將追究法律責任。

相關文章