我试图从vim会话中复制150行以粘贴到另一个.我的第一个想法是去
150Y
Run Code Online (Sandbox Code Playgroud)
:q然后vim (otherProgram).py,我做了,并按'p'.只复制了50行.所以我回到我的原始文档并shift-v选择了我想要的行,然后y转到另一个文档,然后做了p.它似乎也没有优雅地复制,仍然只有50行.
我开始认为vim的复制缓冲区有一些默认大小.我正在使用Mac OS X.有没有办法找出是否有某种默认缓冲区大小?有没有办法改变它?
pat*_*cek 29
看起来你需要把这样的东西放在你的.vimrc:
set viminfo='20,<1000
Run Code Online (Sandbox Code Playgroud)
重要的部分是<1000,表示您希望寄存器每个最多存储1000行.'20设置时显然需要该部件,viminfo但与您所述的需求不是特别相关.(表示记住标记的文件数.)
有关:help 'vi详细信息,请参阅 可以在viminfo字符串中指定大量其他参数.例如,您可能需要增加最大寄存器大小.默认值为10kb,如果还不够,请尝试将其增加到1000kb:
set viminfo='20,<1000,s1000
Run Code Online (Sandbox Code Playgroud)
对我来说这个命令:
set viminfo=<1000
Run Code Online (Sandbox Code Playgroud)
抛出错误:
E528: Must specify a ' value: viminfo=<1000
Run Code Online (Sandbox Code Playgroud)
在 .vimrc 文件中使用完整字符串:
set viminfo='50,<1000,s100,h
Run Code Online (Sandbox Code Playgroud)
检查你的最后一个值(在 vim 中):
:verbose set viminfo?
Run Code Online (Sandbox Code Playgroud)