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

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


当前回答

你真正需要的是EasyClip。它会做到这一点,还有更多……

其他回答

这将是你在vimrc中为此目的需要的行:

set clipboard+=unnamed  " use the clipboards of vim and win
set paste               " Paste from a windows or from vim
set go+=a               " Visual selection automatically copied to the clipboard

最简单的解决方案,也可以通过ssh在不同的Linux机器之间工作:

查看vim是否支持X-11 clipboard: vim——version | grep clipboard。如果它报告回-clipboard和-xterm_clipboard,你应该安装vim-gtk或vim-gnome(在arch linux上的gvim) 在你的.vimrc中添加以下代码行:

设置剪贴板= unnamedplus 设置粘贴

如果您通过ssh在另一台机器上登录,请使用选项-Y: ssh -Y machine

现在,复制和粘贴在一台机器上和在不同的机器上都可以正常工作,只需要用y表示yank,用p表示粘贴。注意:在想要使用该特性的所有机器上修改.vimrc。

在设置:set clipboard= named之上,你应该使用mvim -v,如果你在终端上使用vim,你可以通过brew install macvim获得。应用程序在Mac OS X 10.9。默认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时关闭自动缩进

我认为这个问题应该有一个更客观和形象的答案:

进入粘贴模式

ESC :设置粘贴 按我 SHIFT +插入(将文本复制到剪贴板上)


退出粘贴模式

ESC :设置nopaste 按我

粘贴文本后,就可以再次输入了。