与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
我在Linux (Ubuntu 20.04)中最简单的工作方式
复制到系统剪贴板: 选择要在可视模式下复制的内容。 输入“+ y 按回车键 从系统的剪贴板粘贴一些东西: 移动到要在vim中粘贴复制文本的位置。 只要输入 "+P粘贴到光标OR前 "+p粘贴在光标后。
要了解更多这是如何工作的:复制和粘贴到/从Vim从/到其他程序!
其他回答
这些组合键适用于任何操作系统。
使用鼠标选择目标文本,并参考复制、剪切和粘贴的键序列。
复制:Ctrl +插入 粘贴:Shift +插入
剪切:Shift + Del 粘贴:Shift +插入
在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时关闭自动缩进
由于vim 8的右键单击默认启用可视模式。这可以防止“正常的”复制和粘贴(称之为“设计缺陷”https://github.com/vim/vim/issues/1326)。 解决方法:
回显“set mouse-=a”>> ~/。vimrc。
退出并重启vim。
还有一种方法是直接粘贴到'r'ead 'cat'输出:
:r!cat
这将在前台运行cat,所以你可以发送到终端你想要插入/在你的剪贴板。 完成后,发送ctrl+d以结束流。
这样做的好处是你不需要打乱缩进——文本就这样被插入。 注意,在cat位置可以有任何命令,比如fold(在发现gq之前我一直使用这个命令)或任何其他过滤工具。
虽然'+'寄存器似乎更vimic,但它并不适用于所有平台,而r!凯特只是在工作。
我尝试了上面的建议,但没有一个在我的环境中起作用。(Windows PuTTY通过ssh克隆)
你还可以在谷歌上搜索到: https://unix.stackexchange.com/questions/110684/copy-paste-into-sshd-vim-from-local-windows-clipboard
其中一条评论建议使用SHIFT+INSERT,它可以从我的桌面剪贴板粘贴到Vim的缓冲区中。Ctrl-C已经开始从Vim复制到桌面的剪贴板。