是否可以直接从Vim复制到剪贴板?yy只把东西复制到Vim的内部缓冲区。我想复制到操作系统的剪贴板。在Vim中有这样的命令吗?或者你只能在Vim中提取东西?
当前回答
如果你有xclip,一个简单的方法复制文本到剪贴板如下:
你想复制的Yank文本。(香草vim中的y命令) 输入:call system("xclip -selection clipboard", @")
:call system()执行终端命令。它有两个参数,第一个参数是命令,第二个参数是要向该命令输送什么。例如:echom系统("head -1", "Hello\nWorld")返回Hello(带一些填充)。Echom返回命令的输出,而call不返回。
xclip -selection剪贴板只是复制文本到系统剪贴板,而不是默认的X剪贴板,(通过鼠标中间按钮访问)。
@"返回最后一个被猛拉的文本。是默认寄存器,但您可以使用任何寄存器。要查看所有寄存器的内容,输入:registers。
其他回答
对于一些国际键盘,您可能需要按“+空格获得a”。
所以在这种情况下,你必须按“空格+y”或“空格*y”
你可以在这里找到答案 拱维基
Linux: 首先,你必须通过安装在你的vim版本中启用剪贴板 gvim。
接下来,您必须将这一行放到.vimrc文件中。
设置剪贴板= unnamedplus
Ubuntu - 2018年7月
使用寄存器“+”复制到系统剪贴板(即。+y而不是y)。
同样,您可以从“+”粘贴从系统剪贴板(即。"+p而不是p)。
您还必须确保编译的vim支持剪贴板。试一试:
vim --version | grep .xterm_clipboard -o
如果它是-xterm_clipboard(一个负号前缀),则不支持。
下面是一些使用支持剪贴板的vim工作版本进行交换的说明。
$ sudo apt-get purge vim
$ sudo apt-get autoremove (removes any extraneous vim dependency packages from system)
$ sudo apt-get install vim-gnome (or `sudo apt-get install vim-gtk3` for newer Ubuntu versions)
再次检查vim——version | grep .xterm_clipboard -o,您可以确认剪贴板现在是可用的(即。+ xterm_clipboard)
关于这个问题,我看到了很多答案,而解决这个问题的方法是多种答案的结合。
我遵循的步骤,使vim复制到系统剪贴板
使用sudo apt卸载vim。(我太懒了,不知道如何用+剪贴板支持重新编译它。 使用sudo apt Install带有+clipboard的vim-athena安装另一个名为vim-athena的vim包。 添加到~/。Vimrc下面的行:set clipboard=unnamedplus。 通过进入命令模式并输入Source %来查找文件。 保存并退出。
注意: 我使用的是Ubuntu 20.04。
我已经使用这些很多年了:
nnoremap Y "+y
vnoremap Y "+y
nnoremap yY ^"+y$
你现在可以只使用大写Y复制到剪贴板,小写Y不会受到影响,例如通过set clipboard= named,所以你仍然可以选择拷贝是否会到剪贴板。
在ubuntu 21.04, vim 8.2上测试。