vim - 将内容从一个文件复制并粘贴到vi中的另一个文件
我正在处理两个文件,我需要从一个文件中复制几行并粘贴到另一个文件中。 我知道如何在同一个文件中复制(yy)和粘贴(p)。 但这不适用于不同的文件,这是怎么做的?
还有,有没有办法剪贴? 我试过谷歌搜索,但大多数资源只谈复制粘贴。
macha asked 2019-03-01T03:07:37Z
18个解决方案
179 votes
由于您已经知道如何剪切/抽取文本,因此以下是将其粘贴回另一个文件的一些想法:
编辑第一个文件,取消所需的文本。 然后从vi(:e /path/to/other/file)中打开第二个文件并粘贴它
在拆分窗口中一起打开两个文件,然后使用Ctrl + w,向上/向下导航它们:
vi -o /path/to/file1 /path/to/file2
在第一个文件中,按Ctrl + w,s
Adam Batkin answered 2019-03-01T03:08:13Z
44 votes
如果您在Windows中使用VIM,则可以使用以下命令访问剪贴板(MS复制/粘贴):
“* dd - 切割一条线(或3dd切割3条线)
“* yy - 复制一行(或3yy复制3行)
“* p - 在光标后粘贴行
“* P - 在光标前粘贴行
允许您在单独的VIM窗口之间或VIM和PC应用程序(记事本,单词等)之间进行粘贴。
JayG answered 2019-03-01T03:09:10Z
35 votes
使用+g的变化,如来剪切。
要将一系列行写入另一个文件,您可以使用:
:, w filename
其中+g和是指定一系列行的数字(或符号)。
要使用桌面剪贴板,请查看+g命令。
Apalala answered 2019-03-01T03:09:54Z
25 votes
这是一种方法;
启动vim并打开file1,这是您正在处理的文件。
:e file2将调出file2,即要复制行的文件。
找到你要复制的行,如果它是3行,你就会找到3yy
:b1这将切换到缓冲区1,其中file1是