与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,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
其他回答
没有+剪贴板,所以我提出了这个替代方案使用xsel:
添加到~/.vimrc:
vnoremap <C-C>:w !xsel -b<CR><CR>
值得一提的是,在OSX上使用Vim,你可以用鼠标选择文本,用Cmd-C复制到OSX系统的剪贴板中,复制的文本将在Vim之外的剪贴板中可用。
换句话说,OSX把它当作一个普通的窗口,这就是饱受诟病的苹果“命令”按钮派上用场的地方。
B-30
在Linux或Mac上使用Vim 8+,你现在可以简单地使用操作系统的本机粘贴(在Linux上ctrl+shift+V,在Mac上cmd+V)。插入模式时不要按i键。
它将粘贴操作系统剪贴板的内容,保留空格和制表符,而不添加自动缩进。它相当于旧的:set paste, i, ctrl+shift+V, esc,:set nopaste方法。
你甚至不再需要安装+clipboard或+xterm_clipboard vim特性。这个功能被称为“括号粘贴”。有关更多详细信息,请参见在将文本粘贴到vim时关闭自动缩进
When I use my Debian vim that is not integrated with Gnome (vim --version | grep clip # shows no clipboard support), I can copy to the clipboard after holding the Shift key and selecting the text with the mouse, just like with any other curses program. As I figured from a comment by @Conner, it's the terminal (gnome-terminal in my case) that turns off its mouse event reporting when it senses my Shift press. I guess curses-based programs can receive mouse events after sending a certain Escape sequence to the terminal.
我认为这个问题应该有一个更客观和形象的答案:
进入粘贴模式
ESC :设置粘贴 按我 SHIFT +插入(将文本复制到剪贴板上)
退出粘贴模式
ESC :设置nopaste 按我
粘贴文本后,就可以再次输入了。