(说明:本文系转载自互联网,原文出处: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来在多个文档间进行复制。