vim中多个文件进行复制

    用vim编写文档,很多时候需要不同文件之间机型拷贝,整理如下几种方法

方法一:使用 :r 命令

比如我的第一个文件为test.cpp,路径为   

~/mysource/drop/test.cpp

现在想把test.cpp拷贝到  ~/mysource/algorithm/mytest.cpp 文件中,在mytest.cpp中输入如下命令

:r ~/mysource/drop/test.cpp

当然采用这种方法是拷贝了原文的全部的内容

如果你只想拷贝test.cpp 中若干行,可这样进行操作

先将test.cpp 中想要复制的那几行存入/tmp/x  文件中,然后 再在mytest.cpp中输入复制命令,各命令如下所示:

在test.cpp 中输入

:n1,n2 w!/tmp/x1 
在mytest.cpp中输入

:r /tmp/x1
这种方法是我自己常用的方法。


方法二:使用寄存器或粘帖版方法

在这引用下面这篇文章,链接

http://www.chinaunix.net/old_jh/7/243253.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
   
我编写的不好,恳请斑竹帮我修改和补充,谢谢!

方法三:参照我之前的一篇博文,里面详解vim粘帖版问题,也可以解决

链接:http://blog.csdn.net/zhaowenchaofang/article/details/8939887



发布了59 篇原创文章 · 获赞 9 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章