与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
对我来说,这个配置适用于复制和粘贴
" copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa
其他回答
Linux
在我的Linux系统上,+和*寄存器映射到一个X11选择项,可以用鼠标中间按钮粘贴。当使用:set clipboard= named和:set clipboard=unnamedplus时,寄存器映射到剪贴板,可以用CTRL-V粘贴。
具体细节似乎取决于配置和系统,所以您的里程肯定会有所不同。不过,它肯定会给你指明正确的方向。
另请参阅
http://vim.wikia.com/wiki/Accessing_the_system_clipboard
对于一些国际键盘,您可能需要按“+空格获得a”。
所以在这种情况下,你必须按“空格+y”或“空格*y”来复制。
空格+p或者空格*p来粘贴。
Mac OS X:
运行vim——version | grep clipboard检查是否启用了剪贴板(使用+) 添加set clipboard= named到.vimrc 重启终端和vim
最简单的解决方案,也可以通过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。
我认为这个问题应该有一个更客观和形象的答案:
进入粘贴模式
ESC :设置粘贴 按我 SHIFT +插入(将文本复制到剪贴板上)
退出粘贴模式
ESC :设置nopaste 按我
粘贴文本后,就可以再次输入了。