如何在vi中选择完整的文件,粘贴到gedit中?

use*_*107 5 vim gui vi clipboard

我知道这样做%y a会将完整的文件拖入 register a。但是,这无助于将文件内容粘贴到另一个文本编辑器(例如 gedit)中。这样做有什么替代方案?

qqx*_*qqx 10

而不是a猛拉进入寄存器猛拉进入*+注册使用以下之一将文件内容猛拉到X剪贴板中:

:%y*
:%y+
Run Code Online (Sandbox Code Playgroud)

这确实要求您使用已编译 X 支持并能够连接到 X 服务器的 vim 副本。哪种更适合您将取决于目标编辑器使用哪种类型的剪贴板。

通过在.vimrc文件中包含以下内容之一,您甚至可以将这些寄存器之一用作 yank 和 paste 操作的默认值:

set clipboard+=unnamed
set clipboard+=unnamedplus
Run Code Online (Sandbox Code Playgroud)


rus*_*ush 8

不确定vi此操作是否需要。

有一个xclip实用程序允许您将任何内容从控制台输出复制到 x 服务器剪贴板。

您应该指定DISPLAY=:0.0环境并像这样执行它:

cat file | xclip
Run Code Online (Sandbox Code Playgroud)

或远程文件

ssh remote "cat file" | xclip
Run Code Online (Sandbox Code Playgroud)

或者从vi(注意,这种方式将暂时清除 vi 缓冲区内容,要取消它,请按Esc+ u,数据将保留在 X cilpboard 中):

:%!xclip
Run Code Online (Sandbox Code Playgroud)

现在您可以使用鼠标中键将其粘贴到任何地方(请注意,那CTRL+Vshift+ins不起作用)。