Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何将Vim中的每一行复制到剪贴板以获取只读文件?_Macos_Vim - Fatal编程技术网

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

Macos 如何将Vim中的每一行复制到剪贴板以获取只读文件?,macos,vim,Macos,Vim,我发现,gg“*yG会将每一行复制到剪贴板上,而且效果很好。 但是,对于只读文件,该命令不起作用。 更准确地说,原始文件有89行,但gg“*yG仅复制50+-1行 如何解决这个问题 注意。我无法更改文件,因为它位于服务器中,我没有权限。更简单的命令是:%y*,其中: %是范围1,$的简写,意思是“从第1行到最后一行” y是命令:y,“yank” *是目标寄存器 但这最终与您的问题无关,即默认情况下,Vim只保存前50行寄存器。该限制由viminfo选项设置,该选项具有以下默认值: 100,&

我发现,
gg“*yG
会将每一行复制到剪贴板上,而且效果很好。 但是,对于只读文件,该命令不起作用。 更准确地说,原始文件有89行,但
gg“*yG
仅复制50+-1行

如何解决这个问题


注意。我无法更改文件,因为它位于服务器中,我没有权限。

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

  • %
    是范围
    1,$
    的简写,意思是“从第1行到最后一行”
  • y
    是命令
    :y
    ,“yank”
  • *
    是目标寄存器
但这最终与您的问题无关,即默认情况下,Vim只保存前50行寄存器。该限制由
viminfo
选项设置,该选项具有以下默认值:

100,<50,s10,h
要手动将限制从50更改为100,请在拉动前执行以下操作:

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

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

  • %
    是范围
    1,$
    的简写,意思是“从第1行到最后一行”
  • y
    是命令
    :y
    ,“yank”
  • *
    是目标寄存器
但这最终与您的问题无关,即默认情况下,Vim只保存前50行寄存器。该限制由
viminfo
选项设置,该选项具有以下默认值:

100,<50,s10,h
要手动将限制从50更改为100,请在拉动前执行以下操作:

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

:set viminfo-=如果我理解正确,我想你想要
gg!Gpbcopy
如果我理解正确,我想你想要
gg!Gpbcopy
谢谢。它起作用了。但是:%y*不适用于错误:E850无效寄存器名。如果您可以按照问题中提到的那样执行
gg”*yG
,那么您可以执行
:%y*
。谢谢。它可以工作。但是:%y*不适用于错误:E850无效寄存器名。如果您可以按照问题中提到的那样执行
gg”*yG
,则,然后您可以执行
:%y*