是否可以直接从Vim复制到剪贴板?yy只把东西复制到Vim的内部缓冲区。我想复制到操作系统的剪贴板。在Vim中有这样的命令吗?或者你只能在Vim中提取东西?
当前回答
我是一个Vim newby,但是,复制所有的文本到系统剪贴板(例如,如果你想把它粘贴到文字处理器或其他文本编辑器,如gedit,鼠标垫等…),在正常模式:
ggVGy
或者,更简单地说:
:%y
按照建议,我还安装了vim-gtk和put
设置剪贴板= unnamedplus
在我的。vimrc
一切都很正常
如果你只想复制文本的一部分,使用可视模式(v),选择你想要复制的文本,然后按y。
最后,我建议使用剪贴板程序,如Clipman(我最喜欢的)、Clipit、Parcellite或类似的程序。
(我在Debian Stretch Xfce中使用vim 8.0)
原谅我的英语!:-)
其他回答
@Jacob Dalton has mentioned this in a comment, but nobody seems to have mentioned in an answer that vim has to be compiled with clipboard support for any of the suggestions mentioned here to work. Mine wasn't configured that way on Mac OS X by default and I had to rebuild vim. Use this the command to find out whether you have it or not vim --version | grep 'clipboard'. +clipboard means you're good and the suggestions here will work for you, while -clipboard means you have to recompile and rebuild vim.
我是一个Vim newby,但是,复制所有的文本到系统剪贴板(例如,如果你想把它粘贴到文字处理器或其他文本编辑器,如gedit,鼠标垫等…),在正常模式:
ggVGy
或者,更简单地说:
:%y
按照建议,我还安装了vim-gtk和put
设置剪贴板= unnamedplus
在我的。vimrc
一切都很正常
如果你只想复制文本的一部分,使用可视模式(v),选择你想要复制的文本,然后按y。
最后,我建议使用剪贴板程序,如Clipman(我最喜欢的)、Clipit、Parcellite或类似的程序。
(我在Debian Stretch Xfce中使用vim 8.0)
原谅我的英语!:-)
在Mac OSX上
复制所选部分:可视选择文本(正常输入v或v) 模式)和类型:w !pbcopy 复制整个文件:%w !pbcopy 从剪贴板粘贴:r !pbpaste
在大多数Linux发行版上,你可以替换:
用xclip -i -sel c或xsel -i -b拷贝上面的内容 使用xclip -o -sel -c或xsel -o -b进行Pbpaste 注意:如果这些工具(xsel和xclip)都没有预先安装在你的发行版上,你可以在回购中找到它们
以上这些在我的windows笔记本电脑上都不起作用。
Ctrl+C可以用于复制。但我需要 Shift+插入到粘贴!
(一个很好的理由,总是有一个笔记本电脑,可以随时插入,而不需要按第二个键)
如果你有xclip,一个简单的方法复制文本到剪贴板如下:
你想复制的Yank文本。(香草vim中的y命令) 输入:call system("xclip -selection clipboard", @")
:call system()执行终端命令。它有两个参数,第一个参数是命令,第二个参数是要向该命令输送什么。例如:echom系统("head -1", "Hello\nWorld")返回Hello(带一些填充)。Echom返回命令的输出,而call不返回。
xclip -selection剪贴板只是复制文本到系统剪贴板,而不是默认的X剪贴板,(通过鼠标中间按钮访问)。
@"返回最后一个被猛拉的文本。是默认寄存器,但您可以使用任何寄存器。要查看所有寄存器的内容,输入:registers。