与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
在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时关闭自动缩进
其他回答
我尝试了上面的建议,但没有一个在我的环境中起作用。(Windows PuTTY通过ssh克隆)
你还可以在谷歌上搜索到: https://unix.stackexchange.com/questions/110684/copy-paste-into-sshd-vim-from-local-windows-clipboard
其中一条评论建议使用SHIFT+INSERT,它可以从我的桌面剪贴板粘贴到Vim的缓冲区中。Ctrl-C已经开始从Vim复制到桌面的剪贴板。
有两种简单的方法。使您的文件处于插入模式和 1)按下鼠标中间的按钮(滚轮),或者 2) Ctrl + Shift + V
我在2017年年中的Macbook Pro上遇到了这个问题,我在iTerm2中运行vim作为我的主要开发环境。
正如其他答案所建议的那样,我运行vim——version并注意到它返回-clipboard,这意味着我的机器附带的vim版本没有使用clipboard选项进行编译。
vim的自制包似乎是用剪贴板选项编译的,所以对我的修复是:
运行brew install vim 添加set clipboard+= named到我的~/。vimrc文件 关闭并重新打开iTerm2
对于一些国际键盘,您可能需要按“+空格获得a”。
所以在这种情况下,你必须按“空格+y”或“空格*y”来复制。
空格+p或者空格*p来粘贴。
对于那些Vim安装不支持*和+寄存器的人,请快速注意。不需要从剪贴板下载新的Vim安装来粘贴。下面是另一种方法:
安装parcellite(一个具有低内存占用的剪贴板管理器); 在你的.vimrc文件中,添加以下内容: 命令剪切r !parcellite -c 重启vim。
现在,当你输入:Clip as a ex命令时,剪贴板的内容将被粘贴到光标处。您还可以将新命令映射到功能键,以便能够通过一次击键完成此操作。