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

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


当前回答

我在2017年年中的Macbook Pro上遇到了这个问题,我在iTerm2中运行vim作为我的主要开发环境。

正如其他答案所建议的那样,我运行vim——version并注意到它返回-clipboard,这意味着我的机器附带的vim版本没有使用clipboard选项进行编译。

vim的自制包似乎是用剪贴板选项编译的,所以对我的修复是:

运行brew install vim 添加set clipboard+= named到我的~/。vimrc文件 关闭并重新打开iTerm2

其他回答

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

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

复制到操作系统剪贴板

在可视模式下选择文本,按“*y”

从操作系统剪贴板粘贴

按“* p

如果你使用鼠标,首先做

 :set paste 

然后右击鼠标,缓冲区中的内容将被粘贴

我在Linux (Ubuntu 20.04)中最简单的工作方式

复制到系统剪贴板: 选择要在可视模式下复制的内容。 输入“+ y 按回车键 从系统的剪贴板粘贴一些东西: 移动到要在vim中粘贴复制文本的位置。 只要输入 "+P粘贴到光标OR前 "+p粘贴在光标后。

要了解更多这是如何工作的:复制和粘贴到/从Vim从/到其他程序!

在设置:set clipboard= named之上,你应该使用mvim -v,如果你在终端上使用vim,你可以通过brew install macvim获得。应用程序在Mac OS X 10.9。默认vim不支持剪贴板选项。