vi複製粘貼(轉貼+本身總結)

 

 你們在vi編輯中,經常遇到想把文件A裏面的一行或多行,複製到B文件裏面去 
(可能不少人不知道怎麼辦),該怎麼作了? 
下面是幾中方法: 
1.若是你有多臺機器,並且是聯網的,你能夠用netterm虛擬終端,telnet登錄主機對A文件進行修改、複製,而後打開B文件粘貼過去! 
2.若是是單機,固然要用unix自帶的編輯功能呢 
  先簡單介紹一些vi編輯裏的命令: 
  (A).yw 將當前字存入無名緩衝區,前面可加"x,表示存入名字爲x的有名  
緩衝區(x爲a-z),也可加數字表示存入的字數,之後可用P或p命  
令取出  
yy 將當前行存入無名緩衝區,用法參看yw  

  (B).命令以下:a-Z 是緩衝區,也可移出數字1-9指定的刪除緩衝區  
利用命名緩衝區可很好地保存若干文本段,便於之後存取、移動或者重排。這些緩衝區用a到z字母命名!爲了訪問這些緩衝區中的一個,要使用雙引號  
例如:要把一行插入a緩衝區,可鍵入:  
"ayy  
爲了把這個文本放回該文件中,鍵入"ap  


  (c).m作標誌命令: 
  m 字母 用字母標記當前行,之後可用 '字母使光標移動到當前行,  
(參看'命令) 

例子:windows

單個文件中的複製粘貼:命令行

方法1:unix

光標放到第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 就成剪切了


要刪除多行的話,能夠用 :5, 9 de終端

 

 

多個文件的複製粘貼:方法

 

1。將a文件中的4行到b文件中 

  命令以下:"ay4+  
  :ex b (轉到b文件中) 
  而後"ap 
  2. 將a中多行復制到b文件中 
先在開始處作標誌mk  
而後在末尾用"ay'k (光標自動回到開始處,此時已經把你的內容放到緩衝區了) 
其中a表示緩衝區a  
而後用ex轉義到你的文件B中,而後用"ap命令粘貼就行 

3。若是你文件中有屢次要複製粘貼的話,看下面: 
a表示緩衝區a ,你還繼續可使用緩衝b嗎  
緩衝區有a-z和1-9這麼多  
緩衝區就好象windows下的煎切版同樣,它有好多個,你能夠把你想要的複製進去,而後粘貼,只不過你用"ay時候多換a就是了,如你要複製462行用"ay ,複製536行用"by命名