(說明:本文系轉載自互連網,原文出處:http://hi.baidu.com/349426204/blog/item/cab88e342b61783e5ab5f5f6.html)
大家在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 字母 用字母標記當前行,以後可用 '字母使游標移動到當前行,
(參看'命令)
列子: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
//*******************************
命令列下命令的複製與粘貼
1 在命令列中輸入:set -o vi
就可以像操作vi一樣操作命令列了
2命令列輸入:
chkconfig gpm on
service gpm restart
然後:
用滑鼠選中就是複製,然後按中鍵或滾輪就是粘貼
PS:
看到有一個不是辦法的辦法,在Linux GUI介面下使用gvim來在多個文檔間進行複製。
http://www-128.ibm.com/developerworks/cn/linux/l-tip-vim1/