是否有任何方法复制所有行从打开的文件到VI编辑器剪贴板。我试过yG,但它没有使用剪贴板来存储这些行。
那么这可能吗?
是否有任何方法复制所有行从打开的文件到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的信息。
其他回答
:%y a把所有的内容放到vim的缓冲区中, 在命令模式下按下p键将会在你的光标当前所在的行之后粘贴被拖拽的内容。
(回复@rshdev,并避免在OP的注释中使用@nelstrom +xterm_clipboard重新编译vim)
在Ubuntu 11上有一个叫xclip的程序,它的工作原理类似于putclip:
:%!xclip -sel clip
u
默认情况下不会安装。安装方法:
sudo apt-get install xclip
我在PowerShell中使用Vim,当我需要将一小段代码复制到windows剪贴板时;
我使用:set nonnumber来删除行号,然后用游标和右键单击在视觉上选择代码。然后我用Ctrl + V将它粘贴到任何我想要的地方。
Ubuntu 12
你可以尝试安装vim-gnome包:
sudo apt-get install vim-gnome
我尝试了一下,因为vim——version告诉我它将禁用xterm_clipboard标志(由-指示),这是使用剪贴板功能所必需的。
在Ubuntu 12上安装vim-gnome包的>也安装了一个基于控制台的vim版本,该版本启用了这个选项(xterm_clipboard标志前的+表示)
在Arch Linux上
出于同样的原因,您可以安装vim-clipboard。
如果运行neovim,则应该安装xclip(参见help clipboard-tool)
在Mac
复制所选部分:可视选择文本(正常输入v或v) 模式)和类型:w !pbcopy 复制整个文件:%w !pbcopy 过去从剪贴板:r !pbpaste