将当前行复制到光标下的剪贴板,无需鼠标选择

将当前行复制到光标下的剪贴板,无需鼠标选择

如何将 vi 中光标下的当前行复制到系统剪贴板?

我可以将内容粘贴到任何地方,在 vi 本身中,或者在 shell 中,或者在 libreoffice 应用程序中...并且我正在寻找更简单的快捷方式,例如dd删除该行。

答案1

如果你的 Vim 是用+clipboard特征(检查是否+clipboard出现在:version或 中vim --version),那么有两个特殊的寄存器指定系统剪贴板。该寄存器"+指定剪贴板,由Ctrl+ C/ Ctrl+使用V。该寄存器"*指定主要选择,用于鼠标选择和中键单击粘贴。

要进行删除,yank 或 put 命令作用于备用寄存器,请在其前面加上双引号和寄存器字符。例如,要将当前行复制到剪贴板,请键入"+yy

如果您的 Vim 没有该+clipboard功能,您可以使用外部实用程序来访问剪贴板。当然,您需要 Vim 才能访问 X 显示(DISPLAY必须设置环境变量)。使用:w命令带有以 开头的参数,!通过程序传输指定的行。和谢尔:

:.w !xsel -b

相关内容