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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章