1. 程式人生 > >VIM vim/vi的檔案內、跨檔案複製貼上操作、替換操作

VIM vim/vi的檔案內、跨檔案複製貼上操作、替換操作

https://www.cnblogs.com/shengulong/p/6702868.html

vi/vim 中可以使用 :s 命令來替換字串

1、s/vivian/sky/ 替換當前行第一個 vivian 為 sky

2、:s/vivian/sky/g 替換當前行所有 vivian 為 sky

3、:n,$s/vivian/sky/ 替換第 n 行開始到最後一行中每一行的第一個 vivian 為 sky

4、:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行所有 vivian 為 sky,n 為數字,若 n 為 .,表示從當前行開始到最後一行

5、:%s/vivian/sky/(等同於 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky

6、:%s/vivian/sky/g(等同於 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky

7、可以使用 # 或者 + 作為分隔符,此時中間出現的 / 不會作為分隔符;:s#vivian/#sky/# 替換當前行第一個 vivian/ 為 sky/

  :%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/

 

 

1、用vim開啟一個檔案1.txt

2、在普通模式下,輸入:":sp"(不含引號)橫向切分一個視窗,或者":vsp"縱向切分一個視窗,敲入命令後,你將看到兩個視窗開啟的是同一個檔案

3、在普通模式下,輸入:":e 2.txt",在其中一個窗口裡開啟另一個檔案

4、切換到檔案(1.txt)的視窗,在普通模式下,把游標移到你需要複製內容的起始行,然後輸入你想複製的行的數量(從游標所在行往下計算),在行數後面接著輸入yy,這樣就將內容複製到臨時暫存器裡 了(在普通模式下ctrl+w,再按一下w,可以在兩個視窗之間切換)

5、切換到目標檔案(2.txt)視窗,把游標移到你接收復制內容的起始行,按一下p,就完成複製了。 

 

vi編輯器中的整行(多行)複製與貼上就非常必要了。

    1、複製

    1)單行復制

    在命令模式下,將游標移動到將要複製的行處,按“yy”進行復制;

    2)多行復制

    在命令模式下,將游標移動到將要複製的首行處,按“nyy”複製n行;其中n為1、2、3……

    2、貼上

    在命令模式下,將游標移動到將要貼上的行處,按“p”進行貼上

 3、刪除

   非編輯模式下,連按兩下d,刪除當前行, 要刪除多行的話,可以用 :5, 9 de

vi複製多行文字的方法
方法1:
游標放到第6行,
輸入:2yy
游標放到第9行,
輸入:p
此方法適合複製少量行文字的情況,複製第6行(包括)下面的2行資料,放到第9行下面。
方法2:
命令列模式下輸入
:6,9 co 12
複製第6行到第9行之間的內容到第12行後面。
方法3:
有時候不想費勁看多少行或複製大量行時,可以使用標籤來替代
游標移到起始行,輸入ma
游標移到結束行,輸入mb
游標移到貼上行,輸入mc
然後 :'a,'b co 'c   把 co 改成 m 就成剪下了