- 我正在 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。