我正在尋找一種方法來製作一個新的緩衝區,它是當前緩衝區的副本。如何在Vim中複製緩衝區?
然後我可以做一些類似下面的當前選項卡複製到一個新的選項卡gVim的,例如:
:let b = bufnr("%") | tabnew | execute 'buffer' b | *duplicate*
然而,這個問題是不特定的標籤或gVim的;我可能想要在split
命令或vert diffsplit
命令之後複製緩衝區。 (實際上,vert diffsplit
是我意識到我想要複製緩衝區的第一個實例。)
理想情況下,我還希望保留儘可能多的原始緩衝區和窗口狀態,包括光標位置,但原始緩衝區只讀狀態被忽略,新的緩衝區總是可寫的。
目前,當我遇到這個任務,我鍵入ggyG
,打開或移動到新的緩衝區,然後鍵入Vp
,但我不僅失去我的新窗口的光標位置,我用必要失去位置的複製命令在原始窗口中也是如此。這個過程當然可以精簡爲一個命令。