与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。

我可以使vim粘贴从和系统的剪贴板?


当前回答

我认为这个问题应该有一个更客观和形象的答案:

进入粘贴模式

ESC :设置粘贴 按我 SHIFT +插入(将文本复制到剪贴板上)


退出粘贴模式

ESC :设置nopaste 按我

粘贴文本后,就可以再次输入了。

其他回答

我尝试了上面的建议,但没有一个在我的环境中起作用。(Windows PuTTY通过ssh克隆)

你还可以在谷歌上搜索到: https://unix.stackexchange.com/questions/110684/copy-paste-into-sshd-vim-from-local-windows-clipboard

其中一条评论建议使用SHIFT+INSERT,它可以从我的桌面剪贴板粘贴到Vim的缓冲区中。Ctrl-C已经开始从Vim复制到桌面的剪贴板。

对于那些Vim安装不支持*和+寄存器的人,请快速注意。不需要从剪贴板下载新的Vim安装来粘贴。下面是另一种方法:

安装parcellite(一个具有低内存占用的剪贴板管理器); 在你的.vimrc文件中,添加以下内容: 命令剪切r !parcellite -c 重启vim。

现在,当你输入:Clip as a ex命令时,剪贴板的内容将被粘贴到光标处。您还可以将新命令映射到功能键,以便能够通过一次击键完成此操作。

如果你在MAC OSX中使用vim,不幸的是它带有旧版本,并且不符合剪贴板选项。幸运的是,自制程序可以很容易地解决这个问题。

安装vim:

Brew install vim -with-lua -with-override-system-vim

安装vim的GUI版本:

Brew install macvim -with-lua -with-override-system-vim

重启终端生效。

将下面的行追加到~/.vimrc 设置剪贴板=不知名的

现在,您可以用yy在vim中复制该行,并在系统范围内粘贴它。

这将是你在vimrc中为此目的需要的行:

set clipboard+=unnamed  " use the clipboards of vim and win
set paste               " Paste from a windows or from vim
set go+=a               " Visual selection automatically copied to the clipboard

如果你在windows上,你想用p粘贴系统剪贴板的内容,然后输入这个命令。

:set clipboard = unnamed

这解决了我的问题。