我该如何执行以下操作?
从 vim 复制所有文本并将其粘贴到外部程序,例如邮件 Outlook?我尝试过+y
,gg*yG
但粘贴不起作用。
答案1
这需要 vim 具有 X11 剪贴板集成。您可以通过执行vim --version
和查找来检查这一点+xterm_clipboard
(+clipboard
不是吗,那是为了使用 GUI,这实际上可能就是您所追求的,问题没有指定 GUI 或终端)。
如果您没有+xterm_clipboard
,则需要获取具有该功能的 vim 版本(或自行重新编译)。
如果你拥有它,那就太棒了。让我们继续吧。
X11有2个“剪贴板”。有选择缓冲区,然后是真正的剪贴板。选择缓冲区是突出显示/中键单击的东西。剪贴板是普通的CTRL+C/CTRL+V。
要将当前行复制到选择缓冲区中,请执行"*yy
。 (是的,那就是 shift+quote shift+8 yy)
要复制到剪贴板,请执行"+yy
.
(您可以在视觉模式下使用其他选择说明符,例如"+yG
、 或)"+y
如果您想将其中之一设置为默认值,那么您可以直接执行yy
,无需"+
/"*
位,您可以将以下内容之一添加到您的~/.vimrc
:
set clipboard=unnamed
或者
set clipboard=unnamedplus
您没有指定是否远程访问计算机,但如果是,您仍然可以执行此操作,但您需要打开 X11 转发并在 SSH 中工作。不过我会警告你,它可能会导致 vim 需要几秒钟才能启动。