与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使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
其他回答
你可以通过gnome终端的快捷方式粘贴到vim中。 将文件置于插入模式并使用
Ctrl + Shift + v。
事先要记住
:set paste
避免弄乱缩进。
Mac OS X:
运行vim——version | grep clipboard检查是否启用了剪贴板(使用+) 添加set clipboard= named到.vimrc 重启终端和vim
还有一种方法是直接粘贴到'r'ead 'cat'输出:
:r!cat
这将在前台运行cat,所以你可以发送到终端你想要插入/在你的剪贴板。 完成后,发送ctrl+d以结束流。
这样做的好处是你不需要打乱缩进——文本就这样被插入。 注意,在cat位置可以有任何命令,比如fold(在发现gq之前我一直使用这个命令)或任何其他过滤工具。
虽然'+'寄存器似乎更vimic,但它并不适用于所有平台,而r!凯特只是在工作。
在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时关闭自动缩进
Linux
在我的Linux系统上,+和*寄存器映射到一个X11选择项,可以用鼠标中间按钮粘贴。当使用:set clipboard= named和:set clipboard=unnamedplus时,寄存器映射到剪贴板,可以用CTRL-V粘贴。
具体细节似乎取决于配置和系统,所以您的里程肯定会有所不同。不过,它肯定会给你指明正确的方向。
另请参阅
http://vim.wikia.com/wiki/Accessing_the_system_clipboard