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

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


当前回答

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

进入粘贴模式

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


退出粘贴模式

ESC :设置nopaste 按我

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

其他回答

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

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

它搅乱了粘贴功能。

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

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

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

对于那些Vim安装不支持*和+寄存器的人,请快速注意。不需要从剪贴板下载新的Vim安装来粘贴。下面是另一种方法:

安装parcellite(一个具有低内存占用的剪贴板管理器); 在你的.vimrc文件中,添加以下内容: 命令剪切r !parcellite -c 重启vim。

现在,当你输入:Clip as a ex命令时,剪贴板的内容将被粘贴到光标处。您还可以将新命令映射到功能键,以便能够通过一次击键完成此操作。

我使用了NM Pennypacker的答案,并通过自制程序为2011年初的MacBook Pro安装了vim:

brew install vim

现在我还可以使用“*寄存器”在vim中复制和粘贴文本。我甚至不需要在~/中更改任何内容。vimrc文件或$PATH。Homebrew在/usr/local/bin中增加了符号链接,例如vim -> ../Cellar/vim/8.1.2350/bin/vim。

之前工作的替代方法是在vim中通过用鼠标标记并在mac上使用复制和粘贴(cmd + c, cmd + v)来复制一些文本行。此选项仅在您想要复制和粘贴的文本小于vim的窗口大小时有效。如果你想通过标记整个窗口或使用cmd + a复制vim中的所有文本,这将复制启动vim之前编写的控制台的其他部分,这非常烦人。

所以,我很高兴找到了使用剪贴板寄存器的新方法。