【发布时间】:2014-03-18 23:51:41
【问题描述】:
我正在寻找一种方法来制作一个新缓冲区,它是当前缓冲区的副本。
然后我可以执行以下操作以将当前选项卡复制到 gVim 中的新选项卡,例如:
:let b = bufnr("%") | tabnew | execute 'buffer' b | *duplicate*
但是,这个问题并不特定于 tabs 或 gVim;我可能想在split 命令或vert diffsplit 命令之后复制缓冲区。 (实际上,vert diffsplit 是我意识到我想要复制缓冲区的第一个实例。)
理想情况下,我还希望尽可能多地保留原始缓冲区和窗口状态,包括光标位置,但忽略原始缓冲区只读状态而新缓冲区始终是可写的。
目前当我遇到这个任务时,我输入ggyG,打开或移动到新缓冲区,然后输入Vp,但我不仅在新窗口中失去了光标位置,而且我使用的复制命令必须也失去了在原始窗口中的位置。该过程肯定可以简化为一个命令。
【问题讨论】: