vi中多个文件相互之间的复制、粘贴功能简介!

本文详细介绍了在vi编辑器中使用多种方法进行文件内容的复制与粘贴操作,包括使用命令模式下的命令、寄存器操作等技巧,帮助用户在多台机器环境下或单机环境中高效完成文件内容转移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家在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

以下转自:http://blog.sina.com.cn/s/blog_601331150100ecfr.html

多方搜索整理如下:(除特殊说明以下操作均在命令模式下)

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命令粘贴就行

<think>好的,我现在需要在虚拟机中的VI编辑器里进行复制粘贴操作。让我先回忆一下之前学过的VI编辑器的相关知识。根据引用[2]和引用[4],VI有三种工作模式:命令模式、插入模式和末行模式。复制粘贴通常是在命令模式下进行的。 首先,用户需要打开文件进入VI编辑器,这时候默认是命令模式。接下来,可能需要移动光标到要复制的位置。根据引用[1],VI支持多种光标移动方式,比如使用方向键或者h、j、k、l键。然后,复制操作应该使用特定的命令。我记得在命令模式下,复制一行可能是用yy,复制多行的话可能是用数字加上yy,比如3yy就是复制三行。粘贴的话应该是用p命令,在光标后粘贴,或者用P在光标前粘贴。不过需要确认这些命令是否正确,可能还需要参考其他资料。 另外,引用[3]提到VIM是VI的增强版,支持更多功能,但基本操作应该类似。如果用户使用的是VIM,可能复制粘贴的方法和VI一致。此外,在插入模式下可能无法执行这些命令,必须回到命令模式按ESC键退出插入模式。 还有,用户可能需要复制特定内容,比如从当前光标位置到行尾,或者某个单词。这时候可能需要使用不同的命令,比如yw复制一个单词,y$复制到行尾。不过这可能属于更高级的操作,用户可能只需要基本的复制粘贴步骤。 最后,可能需要检查是否正确进入命令模式,因为如果在插入模式输入这些命令的话,会被当作普通字符输入。所以步骤应该是:进入命令模式,移动光标,执行复制,移动光标到目标位置,执行粘贴。</think>在虚拟机中的VI编辑器进行复制粘贴操作需要掌握以下步骤: ### 操作步骤 1. **进入命令模式** 打开文件后默认处于**命令模式**,若在插入模式按`ESC`键返回命令模式。 2. **复制操作** - 复制单行:将光标移动到目标行,输入`yy` - 复制多行:输入`数字+yy`(例如`3yy`表示复制3行) - 复制单词:将光标移动到单词首字母,输入`yw` - 复制到行尾:输入`y$`(从光标处复制至行尾) 3. **粘贴操作** - 在光标后粘贴:输入`p` - 在光标前粘贴:输入`P` ### 示例流程 ```plaintext 1. 打开文件vi filename.txt 2. 按`j`/`k`移动至目标行 3. 输入`3yy`复制3行 4. 移动光标到目标位置 5. 输入`p`粘贴内容 ``` ### 注意事项 - 所有操作需在**命令模式**下完成 - 若误触其他模式,按`ESC`返回命令模式 - Vim支持更复杂的文本选择(如`v`进入可视模式选择文本后按`y`复制)[^3][^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值