Vim跨终端复制粘贴


19

通常VIM yankpaste只能在同一窗口中(但不会跨文件的工作并关闭/保存命令)。是否可以使它跨终端工作(从一个终端的窗口拖动并粘贴到另一个终端),如果可以,怎么办?

Answers:


30

也许你去尝试最简单的事情是把set clipboard=unnamed.vimrc和重新启动VIM会话。

这让你运行yank(例如,yy在一个窗口中),以及put(如p在另一个窗口)只会工作,因为所有的Vim会话将共享相同的X选择缓冲区。

不利的一面是,一旦在任何应用程序的任何其他窗口中选择了一些文本,您的猛拉缓冲区就会被覆盖。

从好的方面来说,这也意味着您可以将Vim中添加的任何内容通过单击鼠标中键粘贴到任何应用程序中。

如果您不喜欢这种方式,则可以在yank上键入"+"*并放置命令,例如"+yy,对一行进行拉动。

+与剪贴板交互形式("+y就像Ctrl+ C"+p就像Ctrl+ V)。
*形式与选择缓冲液(互动"*y就像左键并拖动,"*p就像中间点击)。

有关详细信息,请参见进行GUI选择X11选择支持以及剪贴板鼠标选项。


3
上帝,我爱中键。:)
Dan M.

set clipboard=unnamed对我不起作用(我将其放在.vimrc中并重新启动了所有vim会话)。不幸的是,其他方法也没有。看来我的vim没有使用x-support编译。我正在使用VNC从Windows计算机连接到Linux计算机。

3
是的,此方法需要X11支持。运行:echo has('x11'),如果启用了X支持,它将打印1
Mikel

0

如果要将整个文件复制到目标文件中。

在vim中打开目标文件。

将光标放在所需的位置,然后键入以下内容:

:r /path_to_file/file.ext

这会将整个文件复制到光标所在的位置...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.