0

所以我有很多行要从一个文件(在一个 gvim 实例中打开)复制到另一个文件(在另一个 gvim 实例中打开),我正在使用 ex 命令。所以我试着照常做

:0,164ya

然后转到另一个文件并执行

:pu

我也试过

:+0,164ya

接着

:+pu

但都没有奏效。我也尝试使用 p 而不是 pu。任何人都知道如何做到这一点?

4

2 回答 2

1

Vim 不会跨 Vim 实例同步其寄存器内容。因此,您必须使用系统剪贴板(寄存器"+)之类的共享数据存储,或者使用单独的文件(:[range]w /tmp/file后跟:r /tmp/file)。

如果您确实需要一次传输多个寄存器内容(上述方法变得乏味),您必须通过保留它们的viminfo文件显式同步寄存器内容(以及所有其他历史记录)。

在 Vim 1 中:

:[range]yank a
:wviminfo

在 Vim 2 中:

:rviminfo!
:put a
于 2013-09-12T06:45:56.390 回答
1

使用 "+ 或 "* 寄存器:

:0,164y +
:put +
于 2013-09-12T06:00:33.283 回答