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

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


当前回答

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

进入粘贴模式

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


退出粘贴模式

ESC :设置nopaste 按我

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

其他回答

如果你使用鼠标,首先做

 :set paste 

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

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

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

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

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

这将是你在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

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

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

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

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