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

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


当前回答

如果你在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中复制该行,并在系统范围内粘贴它。

其他回答

接着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

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

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

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

值得一提的是,在OSX上使用Vim,你可以用鼠标选择文本,用Cmd-C复制到OSX系统的剪贴板中,复制的文本将在Vim之外的剪贴板中可用。

换句话说,OSX把它当作一个普通的窗口,这就是饱受诟病的苹果“命令”按钮派上用场的地方。

B-30

我使用了NM Pennypacker的答案,并通过自制程序为2011年初的MacBook Pro安装了vim:

brew install vim

现在我还可以使用“*寄存器”在vim中复制和粘贴文本。我甚至不需要在~/中更改任何内容。vimrc文件或$PATH。Homebrew在/usr/local/bin中增加了符号链接,例如vim -> ../Cellar/vim/8.1.2350/bin/vim。

之前工作的替代方法是在vim中通过用鼠标标记并在mac上使用复制和粘贴(cmd + c, cmd + v)来复制一些文本行。此选项仅在您想要复制和粘贴的文本小于vim的窗口大小时有效。如果你想通过标记整个窗口或使用cmd + a复制vim中的所有文本,这将复制启动vim之前编写的控制台的其他部分,这非常烦人。

所以,我很高兴找到了使用剪贴板寄存器的新方法。

进入vim窗口后,按“I”进入插入模式。然后将光标移动到需要的位置,同时按Ctrl + Insert按钮从剪贴板粘贴。