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
,“yank”:y
是目标寄存器*
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*
。