如何将每一行复制到Vim中的剪贴板以获取只读文件?

我发现将gg"*yG每一行复制到剪贴板,并且它起作用了。但是,对于只读文件,该命令不起作用。更准确地说,原始文件有 89 行,但只gg"*yG复制了 50 +- 1 行。

如何解决这个问题?

笔记。我无法更改文件,因为它在服务器中,而我没有权限。

回答

一个更简单的命令是:%y*,其中:

  • %是 range 的简写1,$,意思是“从第 1 行到最后一行”,
  • y是命令:y,“猛拉”,
  • 并且*是目标寄存器。

但这最终与您的问题无关,即默认情况下,Vim 仅保存寄存器的前 50 行。该限制是使用viminfo选项设置的,该选项具有以下默认值:

100,<50,s10,h

这是:help 'viminfo'有关于此事说:

<   Maximum number of lines saved for each register.  If zero then
    registers are not saved.  When not included, all lines are
    saved.  '"' is the old name for this item.
    Also see the 's' item below: limit specified in Kbyte.

要将限制从 50 手动更改为 100,请在 yanking 之前说,请执行以下操作:

:set viminfo-=<50 viminfo+=<100

要永久更改它,请将上面的行添加到您的vimrc.


以上是如何将每一行复制到Vim中的剪贴板以获取只读文件?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>