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

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


当前回答

我在2017年年中的Macbook Pro上遇到了这个问题,我在iTerm2中运行vim作为我的主要开发环境。

正如其他答案所建议的那样,我运行vim——version并注意到它返回-clipboard,这意味着我的机器附带的vim版本没有使用clipboard选项进行编译。

vim的自制包似乎是用剪贴板选项编译的,所以对我的修复是:

运行brew install vim 添加set clipboard+= named到我的~/。vimrc文件 关闭并重新打开iTerm2

其他回答

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

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

B-30

复制到操作系统剪贴板

在可视模式下选择文本,按“*y”

从操作系统剪贴板粘贴

按“* p

由于vim 8的右键单击默认启用可视模式。这可以防止“正常的”复制和粘贴(称之为“设计缺陷”https://github.com/vim/vim/issues/1326)。 解决方法:

回显“set mouse-=a”>> ~/。vimrc。

退出并重启vim。

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

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

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

有两种简单的方法。使您的文件处于插入模式和 1)按下鼠标中间的按钮(滚轮),或者 2) Ctrl + Shift + V