是否有任何方法复制所有行从打开的文件到VI编辑器剪贴板。我试过yG,但它没有使用剪贴板来存储这些行。

那么这可能吗?


当前回答

我已经创建了一个函数来执行这个操作,把它放在~/.vimrc上。

fun! CopyBufferToClipboard()
    %y+
endfun
nnoremap <Leader>y :call CopyBufferToClipboard()<CR>
command! -nargs=0 CopyFile :call CopyBufferToClipboard()

OBS:如果你正在使用neovim,你还需要一些剪贴板管理器,比如xclip。有关更多信息,请在neovim中键入:h checkhealth

同样重要的是要提到的是,并不总是简单的y会复制到剪贴板,为了使每次复制feed + wich是“剪贴板寄存器”尝试set::set clipboard=无名,无名加。更多信息见::h未命名。

这里有更多关于vim wikia的信息。

其他回答

剪贴板为buffer +。要复制到剪贴板,请执行“+y和[移动]”。

gg"+yG会复制整个文件。

类似地,要从剪贴板粘贴,“+p

单击鼠标左键,拖过要复制和释放的部分。代码自动复制到剪贴板。

如果在可视模式下使用Vim,标准的剪切和粘贴键也适用,至少在Windows中是这样。

CTRLA表示“标记整个文件”。 CTRLC表示“复制所选内容”。 ESC表示“取消选择,所以你的下一个按键不会替换整个文件:-)

至少在Ubuntu终端(Gnome)下,标准副本也可以工作(CTRLSHIFTC,尽管似乎没有一个标准的键盘快捷键用于全选(除了ALTE后面跟着a)。

:%y a把所有的内容放到vim的缓冲区中, 在命令模式下按下p键将会在你的光标当前所在的行之后粘贴被拖拽的内容。

在vim或它的选项卡中复制整个文件吗

y G 

然后移动到一个标签和粘贴

p

并对整个文件进行删减使用

d G