我正在寻找一种方法来制作一个新的缓冲区,它是当前缓冲区的副本。如何在Vim中复制缓冲区?
然后我可以做一些类似下面的当前选项卡复制到一个新的选项卡gVim的,例如:
:let b = bufnr("%") | tabnew | execute 'buffer' b | *duplicate*
然而,这个问题是不特定的标签或gVim的;我可能想要在split
命令或vert diffsplit
命令之后复制缓冲区。 (实际上,vert diffsplit
是我意识到我想要复制缓冲区的第一个实例。)
理想情况下,我还希望保留尽可能多的原始缓冲区和窗口状态,包括光标位置,但原始缓冲区只读状态被忽略,新的缓冲区总是可写的。
目前,当我遇到这个任务,我键入ggyG
,打开或移动到新的缓冲区,然后键入Vp
,但我不仅失去我的新窗口的光标位置,我用必要失去位置的复制命令在原始窗口中也是如此。这个过程当然可以精简为一个命令。