1. 程式人生 > >Linux從0到1⑤vi編輯

Linux從0到1⑤vi編輯

在這裡插入圖片描述


簡單小述:

vi編輯器在檔案操作中是十分方便的,它幫助你快速修改檔案內容,匯入檔案,書寫指令碼檔案等等。
它有幾種不同的模式,分別是命令模式,插入模式,擴充套件命令模式,它們的關係如下:
在這裡插入圖片描述


命令模式

  1. 檔案定位

    g 定位到全文第一行第一列在這裡插入圖片描述
    G 定位到全文最後一行第一列
    /Aug 定位到有string關鍵字的位置,若全文多次出現此關鍵字,可通過 n 按順序往下查詢,N 按順序往上查詢在這裡插入圖片描述
    /sh$ 定位到以sh結尾的位置在這裡插入圖片描述
    /^alice 定位到以alice開頭的位置

  2. 文字編輯
    dd 刪除游標所在整行
    3dd 刪除從游標開始的3行
    yy 複製游標所在的整行
    3yy

    複製從游標開始的3行
    p 將之前刪除(dd)或複製(yy)的資料貼上到游標之後的位置
    x 刪除游標所在的字元
    D 從游標處刪除到行尾
    u 撤銷上一步操作
    r 修改一個字元

  3. 變換模式
    變換到插入模式 i
    變換到擴充套件命令模式
    變換到可視塊模式 v
    變換到可視行模式 V
    變換到可視塊模式 ^v


插入模式

進入插入模式後,可以直接進行編輯你想要的內容


擴充套件命令模式

  1. 儲存退出
    :w 儲存
    :q 退出
    :wq 儲存並退出
    :w! 強制儲存
    :q! 不儲存並退出
    :wq! 強制儲存退出
    :w /tmp/file1.txt 另存為/tmp/file1.txt

  2. 查詢替換
    :範圍 s/old/new/選項
    == 例子:==

    :9,$ s/root/tong/     第9行到最後一行中第一個root換成tong
    :1,$ s/root/tong/g    g 為全域性,1-最後一行的所有root都換成tong 
    :% s/root/yang/g      %為全文 
    :,2 s/root/tong/      從當前行到第 8 行 
    :5,10 s/.*/#&/        5-10 前加入#字元
    :1,2 s/^#//           1-2 行的開頭#替換為空
    
  3. 其他
    ?字串 從全文上下搜尋該字串
    /字串 從全文上下搜尋該字串
    :整數 跳轉到該行
    :r /etc/hosts

    讀入檔案到當前行後
    :2 r /etc/hosts 讀入檔案到第 2 行後
    :set nu/nonun 設定行號/取消設定行號
    :set list 顯示控制字元


可視塊模組

  1. 選擇塊

    shift + v 選中整行進行編輯在這裡插入圖片描述
    ctrl + v 塊選擇編輯
    在這裡插入圖片描述
    v
    v

  2. 塊插入(在指定塊前加入字元) 選擇塊,I 在塊前插入字元,ESC

  3. 塊替換: 選擇塊,r 輸入替換的字元

  4. 塊刪除: 選擇塊,d (刪除所選內容)

  5. 塊複製: 選擇塊,y (複製所選內容)