你們在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命名