与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。

我可以使vim粘贴从和系统的剪贴板?


当前回答

对我来说,这个配置适用于复制和粘贴

" copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa

其他回答

如果你有,试着从你的vimrc中删除这个: 设置鼠标=一个

它搅乱了粘贴功能。

如果你在MAC OSX中使用vim,不幸的是它带有旧版本,并且不符合剪贴板选项。幸运的是,自制程序可以很容易地解决这个问题。

安装vim:

Brew install vim -with-lua -with-override-system-vim

安装vim的GUI版本:

Brew install macvim -with-lua -with-override-system-vim

重启终端生效。

将下面的行追加到~/.vimrc 设置剪贴板=不知名的

现在,您可以用yy在vim中复制该行,并在系统范围内粘贴它。

在Linux或Mac上使用Vim 8+,你现在可以简单地使用操作系统的本机粘贴(在Linux上ctrl+shift+V,在Mac上cmd+V)。插入模式时不要按i键。

它将粘贴操作系统剪贴板的内容,保留空格和制表符,而不添加自动缩进。它相当于旧的:set paste, i, ctrl+shift+V, esc,:set nopaste方法。

你甚至不再需要安装+clipboard或+xterm_clipboard vim特性。这个功能被称为“括号粘贴”。有关更多详细信息,请参见在将文本粘贴到vim时关闭自动缩进

Mac OS X:

运行vim——version | grep clipboard检查是否启用了剪贴板(使用+) 添加set clipboard= named到.vimrc 重启终端和vim

这些组合键适用于任何操作系统。

使用鼠标选择目标文本,并参考复制、剪切和粘贴的键序列。

复制:Ctrl +插入 粘贴:Shift +插入

剪切:Shift + Del 粘贴:Shift +插入