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

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


当前回答

接着Conner的回答,这很好,但C-R C-p +和C-R C-p *在插入模式下有点不方便。命令模式中的“*p”和“+p”也是一样。

一位VIM大师建议将C-v映射到C-r C-p +所做的事情。

你可以有:inoremap <C-v> <C-o>"+p仅用于插入模式 如果你真的想要覆盖块的视觉模式(他不推荐视觉模式) mode是好的)你可以有map <C-v> "+p

其他回答

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

我使用了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之前编写的控制台的其他部分,这非常烦人。

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

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

如果你在windows上,你想用p粘贴系统剪贴板的内容,然后输入这个命令。

:set clipboard = unnamed

这解决了我的问题。

Shift +右键->粘贴

对我有用吗