与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
还有一种方法是直接粘贴到'r'ead 'cat'输出:
:r!cat
这将在前台运行cat,所以你可以发送到终端你想要插入/在你的剪贴板。 完成后,发送ctrl+d以结束流。
这样做的好处是你不需要打乱缩进——文本就这样被插入。 注意,在cat位置可以有任何命令,比如fold(在发现gq之前我一直使用这个命令)或任何其他过滤工具。
虽然'+'寄存器似乎更vimic,但它并不适用于所有平台,而r!凯特只是在工作。
其他回答
你可以通过gnome终端的快捷方式粘贴到vim中。 将文件置于插入模式并使用
Ctrl + Shift + v。
事先要记住
:set paste
避免弄乱缩进。
我在2017年年中的Macbook Pro上遇到了这个问题,我在iTerm2中运行vim作为我的主要开发环境。
正如其他答案所建议的那样,我运行vim——version并注意到它返回-clipboard,这意味着我的机器附带的vim版本没有使用clipboard选项进行编译。
vim的自制包似乎是用剪贴板选项编译的,所以对我的修复是:
运行brew install vim 添加set clipboard+= named到我的~/。vimrc文件 关闭并重新打开iTerm2
Mac OS X:
运行vim——version | grep clipboard检查是否启用了剪贴板(使用+) 添加set clipboard= named到.vimrc 重启终端和vim
我使用了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之前编写的控制台的其他部分,这非常烦人。
所以,我很高兴找到了使用剪贴板寄存器的新方法。
如果你在windows上,你想用p粘贴系统剪贴板的内容,然后输入这个命令。
:set clipboard = unnamed
这解决了我的问题。