与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
与其他编辑器不同,vim将复制的文本存储在自己的剪贴板中。所以,对我来说,从网页复制一些文本并将其粘贴到当前的工作文件中是非常困难的。碰巧我必须打开gedit或手动输入它。
我可以使vim粘贴从和系统的剪贴板?
当前回答
When I use my Debian vim that is not integrated with Gnome (vim --version | grep clip # shows no clipboard support), I can copy to the clipboard after holding the Shift key and selecting the text with the mouse, just like with any other curses program. As I figured from a comment by @Conner, it's the terminal (gnome-terminal in my case) that turns off its mouse event reporting when it senses my Shift press. I guess curses-based programs can receive mouse events after sending a certain Escape sequence to the terminal.
其他回答
如果你使用鼠标,首先做
:set paste
然后右击鼠标,缓冲区中的内容将被粘贴
对于一些国际键盘,您可能需要按“+空格获得a”。
所以在这种情况下,你必须按“空格+y”或“空格*y”来复制。
空格+p或者空格*p来粘贴。
如果你在windows上,你想用p粘贴系统剪贴板的内容,然后输入这个命令。
:set clipboard = unnamed
这解决了我的问题。
我使用了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之前编写的控制台的其他部分,这非常烦人。
所以,我很高兴找到了使用剪贴板寄存器的新方法。
我认为这个问题应该有一个更客观和形象的答案:
进入粘贴模式
ESC :设置粘贴 按我 SHIFT +插入(将文本复制到剪贴板上)
退出粘贴模式
ESC :设置nopaste 按我
粘贴文本后,就可以再次输入了。