vim:如何写入另一个文件,我的行被猛拉了?

Min*_*rel 8 vim

例如,我可以用标记来做

:'a,'b w! /tmp/myFile
Run Code Online (Sandbox Code Playgroud)

但是使用拉线的合成文件是什么?

谢谢

kev*_*kev 6

艰辛的道路

您可以在命令模式下调用 vim 函数。
下面的命令会将 yanked 行写入/tmp/myFile.

:call writefile(split(getreg('"'), '\n'), '/tmp/myFile')
Run Code Online (Sandbox Code Playgroud)

注意: Yanked 行在未命名的寄存器中(""输入:help registers帮助)。


简单的方法

为什么不从视觉上做到这一点。每个人都可以理解的只有 3 个基本命令:

  • :tabe -- 打开新标签
  • p -- 粘贴到缓冲区
  • :w /tmp/myFile.txt - 保存存档


Mar*_*rth 5

你可以使用:redir(使用注册r):

:redir! > /tmp/myFile | silent echon @r | redir END
Run Code Online (Sandbox Code Playgroud)

如果你想追加你可以使用redir >> /tmp/myFile(注意:没有!在这里,因为"如果存在则覆盖"没有意义).