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

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


当前回答

进入vim窗口后,按“I”进入插入模式。然后将光标移动到需要的位置,同时按Ctrl + Insert按钮从剪贴板粘贴。

其他回答

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

它搅乱了粘贴功能。

没有+剪贴板,所以我提出了这个替代方案使用xsel:

添加到~/.vimrc:

vnoremap <C-C>:w !xsel -b<CR><CR>

接着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

复制到操作系统剪贴板

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

从操作系统剪贴板粘贴

按“* p

最简单的解决方案,也可以通过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。