VI编辑器:将整个文件拖到剪贴板(特定于OS X)

时间:2012-07-26 05:25:47

标签: macos vim

有没有办法在VI编辑器中将所有行从文件复制到剪贴板。我在之前的帖子中尝试了*yG+yG"+yG:%y+,但在OS X中没有任何效果。

3 个答案:

答案 0 :(得分:29)

Mac OS X附带的默认Vim /usr/bin/vi[m]未使用剪贴板支持进行编译。

您有三种选择:

  1. 从命令行使用pbcopy,而不使用Vim

    $ cat filename | pbcopy
    
  2. 使用Vim中的pbcopy

    :%w !pbcopy
    
  3. 通过剪贴板支持获取自己的Vim

    您可以通过MacPortsHomebrew,下载MacVim或构建from the source来完成此操作。

  4. 使用y的特定注册表的正确方法是"{register}y

    在终端中查看$ man pbcopy,在Vim中查看:help clipboard:help !

答案 1 :(得分:2)

G只是意味着“转到文件末尾”,您需要在*+之前引用它们才能使它们作为剪贴板寄存器生效。您正在寻找更像gg"*yG的内容,这意味着:

gg - 转到文件顶部

"* - 使用*注册

y - 开始猛拉

G - 转到文件底部

或者您可以使用:!cat % | pbcopy,这与romainl提供的精细解决方案不同。

答案 2 :(得分:0)

vim --version | grep剪贴板,如果你看到" -clipboard",你就不会那样做。你的vim不支持它。您需要重新编译源代码。

编译

$./configure \ --enable-gui=auto --with-features=huge --with-x
$ make && sudo make install