是否有任何方法复制所有行从打开的文件到VI编辑器剪贴板。我试过yG,但它没有使用剪贴板来存储这些行。
那么这可能吗?
是否有任何方法复制所有行从打开的文件到VI编辑器剪贴板。我试过yG,但它没有使用剪贴板来存储这些行。
那么这可能吗?
当前回答
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)
其他回答
如果您的手指默认使用CTRL-A CTRL-C,那么尝试从$VIMRUNTIME/mswin.vim映射。
" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG
我将它们映射到<Leader><C-a>和<Leader><C-c>。
Use:
:%y+
扯断所有的线。
解释:
%以引用下一个命令来处理所有行 Y来拉这些线 +复制到系统剪贴板
注意:在Windows中,+和*是等价的,请看这个答案。
虽然上面的许多答案都很出色,但没有一个解决方案适合我,因为我使用的是Ubuntu 16.04附带的默认VIM安装,并且默认没有安装剪贴板选项。我还想把文本粘贴到一个外部程序中。
解决方案:Ubuntu的默认终端允许你通过点击编辑然后全选来高亮显示全部内容。
我已经创建了一个函数来执行这个操作,把它放在~/.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的信息。
单击鼠标左键,拖过要复制和释放的部分。代码自动复制到剪贴板。