繁体   English   中英

在vim中复制/粘贴的默认缓冲区大小?

[英]default buffer size to copy/paste in vim?

我试图从vim会话中复制150行以粘贴到另一个。 我的第一个想法是去

150Y

我做了:q ,然后是vim (otherProgram).py ,然后按'p'。 只复制了50行。 所以我回到我原来的文件并做了shift-v并选择了我想要的线然后做了y ,去了另一个文件,然后做了p 它似乎也没有优雅地复制,仍然只有50行。

我开始认为vim的复制缓冲区有一些默认大小。 我正在使用Mac OS X.有没有办法找出是否有某种默认缓冲区大小? 有没有办法改变它?

看起来你需要在.vimrc放置这样的东西:

set viminfo='20,<1000

重要的部分是<1000 ,表示您希望寄存器每个最多存储1000行。 设置viminfo时显然需要'20部分,但与您所述的需求并不特别相关。 (表示记住标记的文件数。)

请参阅:help 'vi以获取更多详细信息。 可以在viminfo字符串中指定大量其他参数。 例如,您可能需要增加最大寄存器大小。 默认值为10kb,如果还不够,请尝试将其增加到1000kb:

set viminfo='20,<1000,s1000

对我来说这个命令:

set viminfo=<1000

抛出错误:

E528: Must specify a ' value: viminfo=<1000

在.vimrc文件中使用完整的字符串:

set viminfo='50,<1000,s100,h
  • 第二个值 - 要复制的最大行数

检查你的最后一个值(在vim中):

:verbose set viminfo?

您正在使用vim的能力在会话之间将寄存器保存在.viminfo中。 帕特里克已经解决了该方法的局限性以及如何提高默认限制。

但是,如果你需要经常在vim和其他程序之间复制/粘贴,你应该尝试使用macvim,它可以为你提供剪贴板支持。

此外,您应该阅读:help buffers,vim完全能够在同一个会话中打开多个文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM