如何将(大)vim 文件的内容复制到 OSX 系统剪贴板以粘贴到其他应用程序中?

如何将(大)vim 文件的内容复制到 OSX 系统剪贴板以粘贴到其他应用程序中?

我喜欢使用 vim 编辑其他(非编程语言)内容。所以我将内容粘贴到 vim 中并进行更改。

我怎样才能复制全部将文本放回主剪贴板进行粘贴?

请注意,我使用 iTerm2,并且不能像基本 osx 终端应用程序那样使用 * 。

我不想复制到vim内部寄存器(例如yyank命令),我想复制到系统剪贴板。

另外,我想要整个文件的内容,包括屏幕外的内容?

用鼠标左键alt单击拖动不起作用。

答案1

我确信这是重复的但是:

gg"*yG

gg转到第一行
"*y开始复制到系统剪贴板“注册”
G移动到文件末尾(您将看到复制了多少行)

答案2

使用命令的替代选项:对我有用:

:1,$!pbcopy

这对于引用行号等很有用,而无需导航和突出显示该区域。

答案3

我用比我的其他答案更好的方式解决了这个问题:

首先获取新的 vim

brew install vim

然后做

vim --version

确保它是 7.4+ 请注意,如果你执行 vi --version 你可能会发现 vi 是 7.3

现在让 vi 使用较新的 vim

alias vi=vim

并将该别名添加到您的 .bash_aliases 文件中(或您放置别名的任何位置)

最后添加

set clipboard=unnamed

给你的.vimrc(不是.bashrc!)

启动一个新的 shell,它应该可以工作。

相关内容