我想跨 MacVim 窗口共享命名寄存器缓冲区(就像我在单个实例中跨缓冲区一样)。换句话说,假设我标记了一个位置 m,然后去其他地方:
我将一些文本拉到寄存器 a 中,从当前点到 'm:“a'm
然后我转到另一个窗口(不,我不是指同一窗口中的另一个拆分视图......)并想粘贴:“ap
在所有实例之间共享命名寄存器的好方法是什么?
MacVim 的不同顶级窗口是具有自己状态的不同 Vim 实例,这使得这很难。据我所知,您有两种选择:
使用"+
or"*
寄存器,它们都使用 Mac 系统剪贴板。(顺便说一句:在 X11 中它们是不同的,但所有其他 GUI 都以相同的方式对待它们)。MacVim有标准的Cmd+ X//绑定使用。不幸的是,这只给你一个共享缓冲区。CV"+
保留一个包含寄存器的文本文件,正如 Max 在Make vim yankings global via a shared text file中所解释的那样。
你应该看看YankRing插件。它“保留了以前的 yanks、更改和删除的历史记录”。我认为它会做你想要的。
顶级窗口使用不同的 vim 实例,因此它们不共享相同的寄存器,但不同的选项卡确实共享相同的寄存器。
因此,作为一种快速而简单的解决方案,在同一窗口的不同选项卡中打开文件以共享它们的命名寄存器。