1. 程式人生 > >Ubuntu下VI編輯器命令總結

Ubuntu下VI編輯器命令總結

vi編輯器有三種模式
1)命令列模式(游標移動、複製、貼上、刪除)(command mode)
2)插入模式(編輯文字)                                    (insert mode)
3)底行模式(查詢和替換)                                (last line mode)

注意:
1)當不知道處於何種模式時,按ESC鍵返回到命令列模式。
2)wq(write quit)  儲存退出
3)i(insert)             插入

(1)開啟檔案、新建檔案、儲存檔案
 vi   檔名
    如果檔案存在,輸入結束後,:wq儲存並退出檔案
    如果檔案不存在,輸入結束後,:wq就可以新建並儲存檔案

     在編輯完成時,返回命令列模式,
         1)輸入:w則儲存檔案,如果已經儲存檔案,輸入:q則退出檔案
         2)直接輸入:wq儲存並退出
         3)如果不想儲存被修改的內容,則:q!強制退出。

(2)從命令列模式進入插入模式
        i(在游標前開始插入文字)
        a在游標後開始插入文字
        o(在當前行之下新開一行,併到行首)

(3)命令列模式下的操作

    3.1 游標移動

      在命令列模式下,hjkl這四個按鍵就可以移動游標
       h(左)
       j(下)
       k(上)
       l(右)

   3.2 快速的定位到某一行:
        檔案頭、檔案尾、指定某一行
        ngg游標移至第n行的行首(n為數字),
如1gg就跳到第一行的行首,就是檔案頭
如2gg就跳到第二行的行首
G轉至檔案結尾
  3.3  在某一行如何快速定位到某一列
        0(數字零)游標移至當前行行首
        $游標移至當前行行末

        fx搜尋當前行中下一個出現字母x的地方

 3.4   文字複製、貼上、刪除、撤銷
       yy複製當前行(y:yank(複製))   
       nyy複製當前行及其後的n-1行(n是數字)
       使用P鍵來貼上(p:paste)
       dd  刪除游標所在行(d:delete)
       ndd 刪除當前行及其後的n-1行(n是數字)
       按u鍵來撤銷上一步操作
       x刪除游標所在位置的字元

(4)vi的難點:

     vi操作之前,先判斷一下當前是哪一種模式,再看游標所在位置。當你不知道處於何種模式時,使用esc鍵返回到命令列模式。再看游標,難點在於移動游標,可以做到快速切換到某一行某一列。

(5)底行模式下的操作
      5.1  查詢和替換
         /pattern 從游標開始處向檔案尾搜尋pattern,後按下n或N
         注意:
         n在同一個方向重複上一次搜尋命令
         N在反方向重複上一次搜尋命令
         n(N)來源於next
         在/pattern之前先跳到第一行則進行全檔案搜尋。

        :%s/p1/p2/g將檔案中所有的p1均用p2替換
        :%s/p1/p2/gc替換時需要確認

       助記:
        s: substitute替換
        g: global全域性
        c: confirm確認