2016年12月5日 星期一

Linux vi 將內容從一個檔複製到另一個檔

假設要將 testA 檔案部分內容,複製到 testB 檔
$ vi testA
先在 testA 檔內複製需要的部分,
例如,用「yy」指令複製目前這一行(此時複製的資料會存在暫存區)
在不退出 vi 的情況下,直接去編輯 testB 檔,
如此在暫存區的複製資料才會留著。
:vi testB

:e testB

此動作會關閉 testA,然後開啟 testB,
所以假設 testA 檔有修改到,但沒儲存,會過不去 testB
若要放棄testA修改,直接編輯testB,指令可改成
:vi! testB

:e! testB

到 testB 檔後,即可直接用「p」指令貼上

若 testA 檔,有好幾個地方,要分別複製到 testB 檔
則在 testA 檔複製時,可指定要放的暫存區(a~z)
先按「"」「a」,表示要使用 a 暫存區
再按「yy」指令複製,則會將資料放在 a 暫存區
同理,
先按「"」「b」,表示要使用 b 暫存區
再按「yy」指令複製,則會將資料放在 b 暫存區
如此便可將不同部分,放在不同暫存區,一次帶到 testB 檔,
然後在 testB 檔時,切換目前使用的暫存區,再使用「p」指令貼上。


[相關:選取特定區域後複製、貼上]
先按「v」後,移動游標,即可反白選取所要的區域字段。
再來可選擇按「d」,剪下選取區域的內容,
或是按「y」,複製選取區域的內容。
最後再用「p」貼上。


參考:
Vi- 編輯與修改
vim - Copy and paste content from one file to another file in VI - Stack Overflow
Checko's Blog: VI 學習 : copy and paste


沒有留言:

張貼留言