在 vi 中保留剪贴板内容

在 vi 中保留剪贴板内容

如果我想将文本从一个文件复制vi到另一个文件,我必须突出显示文本,Control-Shift-C退出第一个文件,打开第二个文件,然后通过Control-Shift-V.感觉必须有一种更简单的方法来做到这一点——即仅使用键盘命令。有什么建议么?

答案1

编辑文件时,您可以用来:e filename打开另一个文件并:rew返回到原始文件,如下所示:

  1. 打开原始文件vi foo
  2. 复制文本例如yy(复制一行)
  3. 打开第二个文件进行编辑ESC :e bar
  4. 输入您的文字p(然后保存:w
  5. 返回第一个文件ESC :rew

答案2

vim 可以设置 X 剪贴板支持。如果您的发行版未将 vim 与 X 支持捆绑在一起,请通过 --with-x=yes 进行配置。默认情况下,X 剪贴板可用作 * 缓冲区,X 剪切板(选择)可用作 " 缓冲区,因此选择一个区域并键入"+y会将所选内容拉到 X 剪切板,并将"*y拉到 X 剪贴板。同样,"*p将从 X 剪贴板和"+pX 选择进行粘贴。

您可以通过运行将 vim 中的默认(匿名)缓冲区设置为 X 剪贴板set clipboard=unnamed。然后你就可以y直接p从X剪贴板中获取。

答案3

当然:

  1. 打开你的文件:vi foo
  2. 在您的文件中,打开第二个:ESC :open bar
  3. 回到第一点:ESC :prev
  4. 要复制文件的内容:ESC :1,$ y
  5. 转到下一个文件:ESC :n
  6. 粘贴它:ESC p

也许还有更短的路?

相关内容