我试图从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
E528: 必须指定一个 '值:viminfo=<1000
。 - olovb'20
дјҡеҜјиҮҙй”ҷиҜҜгҖӮжҲ‘еңЁиҮӘе·ұзҡ„.vimrc
дёӯдҪҝз”Ёе®ғпјҢдҪҶд№ӢеүҚжІЎжңүж„ҸиҜҶеҲ°е®ғжҳҜеҝ…йңҖзҡ„пјҒ - pattivacekset viminfo='20,<10000,s10000
来获取最多10K行和10MB的设置。 - WestCoastProjects对我来说,这个命令:
set viminfo=<1000
抛出一个错误:
E528: Must specify a ' value: viminfo=<1000
在你的 .vimrc 文件里使用完整字符串:
set viminfo='50,<1000,s100,h
检查您在vim中的最后一个值:
:verbose set viminfo?
您正在使用vim的保留寄存器能力在不同会话之间保留.viminfo文件。Patrick已经解决了该方法的限制以及如何提高默认限制。
但是,如果您需要经常在vim和其他程序之间复制/粘贴,则应尝试使用macvim,它提供了剪贴板支持。
此外,您应该阅读:help缓冲区,vim完全可以在同一会话中打开多个文件。
:q
,你可以使用:e (otherprogram).py
。 - Kent