博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vi中多个文件相互之间的复制、粘贴功能简介!
阅读量:2229 次
发布时间:2019-05-09

本文共 1693 字,大约阅读时间需要 5 分钟。

大家在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.将光标移动到将要复制的行处,按yy进行复制当前行(按nyy复制n行),再移动到粘贴位置,按p进行粘贴。

2.将光标移到复制的首位置,按下v,用hjkl移动,按y复制,按p粘贴。

3.光标移到起始行,输入ma;光标移到结束行,输入mb;光标移到粘贴行,输入mc;然后 :'a,'b co 'c,把 co 改成 m 就成剪切了。

4.光标移动到要复制的行,输入yny(n表示要复制该行以下n行);光标移动到粘贴行,按p粘贴。

5.直接输入:n1,n2 co n3。(n1为起始行,n2为结束行,n3为粘贴行)

6.不同文件之间的复制:用:sp [filename]打开另一文件,(用^ww在文件之间切换),然后按上述方法复制

有关的命令如下:
yy  将当前行复制到缓冲区
yw  将当前单词复制到缓冲区
y1  将光标处的一个字符复制到缓冲区
  将缓冲区的信息粘贴到光标的后面
:行号1 ,行号2 copy 行号3    将行号1到行号2的内容复制到行号3所在行的后面。
:行号1 ,行号2 move 行号3    将行号1到行号2的文本内容移动到行号3所在行的后面。

 

7.寄存器操作


"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为

一个数字

"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个

数字

"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一

个数字

"?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母

,也可以是一个数字

ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中


 vi多个文件之间复制、粘贴


打开和切换文件 步骤

1、vi 1

2、:e 2 打开文件2

3、用:e#在两个文件间切换。

复制和粘贴文件 步骤

1、回到1文件,先在开始处做标志mk  然后在末尾用"ay'k (光标自动回到开始处,此时已经把你的内容放到缓冲区了) 其中a表示缓冲区a 

2、用:e#切换到文件2,找到你要粘贴的位置,然后用"ap命令粘贴就行

转载地址:http://zszbb.baihongyu.com/

你可能感兴趣的文章
【Linux】进程的理解(二)
查看>>
【C语言】深度理解函数的调用(栈帧)
查看>>
【Linux】进程的理解(三)
查看>>
【C++】带头节点的双向线链表的实现
查看>>
【C++】STL -- Vector容器的用法
查看>>
【Linux】Linux中的0644 和 0755的权限
查看>>
【数据结构】有关二叉树的面试题
查看>>
【Linux】内核态和用户态
查看>>
【Linux】HTTP的理解
查看>>
【Linux】HTTPS的理解
查看>>
【操作系统】大小端问题
查看>>
Git上传代码时碰到的问题及解决方法
查看>>
【Linux】vim的简单配置
查看>>
【C++】智能指针
查看>>
【C++】const修饰的成员函数
查看>>
【C++】面向对象的三大特性
查看>>
【C++】智能指针(后续)
查看>>
【C】堆区和栈区的区别
查看>>
【linux】send和recv函数解析
查看>>
【Linux】线程安全的单例模式以及计算密集型线程和IO密集型线程
查看>>