用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