与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
我在Linux (Ubuntu 20.04)中最简单的工作方式
复制到系统剪贴板: 选择要在可视模式下复制的内容。 输入“+ y 按回车键 从系统的剪贴板粘贴一些东西: 移动到要在vim中粘贴复制文本的位置。 只要输入 "+P粘贴到光标OR前 "+p粘贴在光标后。
要了解更多这是如何工作的:复制和粘贴到/从Vim从/到其他程序!
其他回答
基于@lis2的答案,我使用了一个更简单的配置,将不会强制插入模式结束:
" Copy and paste
if has('clipboard') && !has('gui_running')
vnoremap <C-c> "+y
vnoremap <C-x> "+d
vnoremap <C-v> "+p
inoremap <C-v> <C-r><C-o>+
endif
注意,所有这些都会覆盖默认的Vim映射:
v_CTRL-C:停止可视模式 v_CTRL-X:从number中减去[count] v_CTRL-V: blockwise可视化模式 i_CTRL-V:按字面插入下一个非数字,这也映射到i_CTRL-Q
作为一种替代方法,你可以使用“yank”,“delete”和“put”Vim动词中的键:分别为<C-y>, <C-d>和<C-p>。这些只会覆盖一个默认映射:
i_CTRL-P:反向完成搜索关键字
我在Linux (Ubuntu 20.04)中最简单的工作方式
复制到系统剪贴板: 选择要在可视模式下复制的内容。 输入“+ y 按回车键 从系统的剪贴板粘贴一些东西: 移动到要在vim中粘贴复制文本的位置。 只要输入 "+P粘贴到光标OR前 "+p粘贴在光标后。
要了解更多这是如何工作的:复制和粘贴到/从Vim从/到其他程序!
你可以通过gnome终端的快捷方式粘贴到vim中。 将文件置于插入模式并使用
Ctrl + Shift + v。
事先要记住
:set paste
避免弄乱缩进。
这些组合键适用于任何操作系统。
使用鼠标选择目标文本,并参考复制、剪切和粘贴的键序列。
复制:Ctrl +插入 粘贴:Shift +插入
剪切:Shift + Del 粘贴:Shift +插入
最简单的解决方案,也可以通过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。