在 vi 中如何拉入/插入/粘贴另一个文件的内容

在 vi 中如何拉入/插入/粘贴另一个文件的内容
  • 我正在 vi 中编辑文件“A”。
  • 我有另一个文件“B”,我想将其内容“粘贴”到当前位置。
  • 除了实际的鼠标复制和粘贴之外,我还可以使用一个命令将另一个文件的内容拉入我当前的编辑位置。

答案1

输入以下内容

:r filename_to_paste

这会将文件的内容粘贴到光标所在的行之后。


如果您需要将较小范围的行/文本块从一个文件复制/粘贴到另一个文件,您还可以执行以下操作,假设一个文件已vim打开

  • 使用(分割)或(垂直分割)打开第二个文件:sp:vsp
  • yy在另一个文件中执行正常(复制)命令
  • do p(粘贴)命令返回到第一个文件中因为寄存器(存储拉出文本的位置)对于这两个文件是通用的。
  • Ctrl+w两次可在分割文件之间切换。

答案2

:r filename是整个文件的最短长度。如果您只想要再一小部分,我总是转到源文件并用于"a57Y "b12Y将特定行复制到寄存器(寄存器"a"b这些示例中),我可以在目标文件中"ap检索这些行。"bp

答案3

在插入模式下,按Ctrl+ R,然后按=。现在,您处于命令行模式,并且显示“等于”符号。

类型

      system('cat filename')

另一个文件“文件名”的内容将粘贴到光标的下一行。

解释:

Ctrl+R粘贴任何寄存器的内容。=执行/评估函数/表达式。因此,您可以通过Ctrl+粘贴表达式的输出R=

cat是一个显示文件内容的 Linux 命令。

编辑:这适用于 vim,而不是 vi。

相关内容