3

我想跨 MacVim 窗口共享命名寄存器缓冲区(就像我在单个实例中跨缓冲区一样)。换句话说,假设我标记了一个位置 m,然后去其他地方:

我将一些文本拉到寄存器 a 中,从当前点到 'm:“a'm

然后我转到另一个窗口(不,我不是指同一窗口中的另一个拆分视图......)并想粘贴:“ap

在所有实例之间共享命名寄存器的好方法是什么?

4

3 回答 3

2

MacVim 的不同顶级窗口是具有自己状态的不同 Vim 实例,这使得这很难。据我所知,您有两种选择:

  1. 使用"+or"*寄存器,它们都使用 Mac 系统剪贴板。(顺便说一句:在 X11 中它们是不同的,但所有其他 GUI 都以相同的方式对待它们)。MacVim有标准的Cmd+ X//绑定使用。不幸的是,这只给你一个共享缓冲区。CV"+

  2. 保留一个包含寄存器的文本文件,正如 Max 在Make vim yankings global via a shared text file中所解释的那样。

于 2012-05-17T18:45:28.233 回答
1

你应该看看YankRing插件。它“保留了以前的 yanks、更改和删除的历史记录”。我认为它会做你想要的。

于 2012-05-18T04:26:42.063 回答
1

顶级窗口使用不同的 vim 实例,因此它们不共享相同的寄存器,但不同的选项卡确实共享相同的寄存器。

因此,作为一种快速而简单的解决方案,在同一窗口的不同选项卡中打开文件以共享它们的命名寄存器。

于 2014-08-27T10:23:18.883 回答