代码之家  ›  专栏  ›  技术社区  ›  ldog

VIM(终端)-复制到X剪贴板并在挂起时粘贴

vim
  •  4
  • ldog  · 技术社区  · 16 年前

    我已经安装了vimx,所以我可以使用 "+y 类似的,只要我能保持当前的vimx运行,就可以很好地工作。

    但是,我也喜欢切换到当前运行的shell ctrl-z 并且能够将我从vim复制的内容粘贴到shell中。有人知道怎么做吗,因为只要我暂停VIM ctr-z X剪贴板变为空,直到我将VIM放入 fg 再一次。

    2 回复  |  直到 16 年前
        1
  •  2
  •   ldog    16 年前

    好啊,

    在一个小时的头疼之后,我决定用一种不同的方法来做同样的事情。

    我将详细说明我在这里所做的事情,以造福那些有相同问题的人。

    如果你有 wxcopy 在您的系统上,这足以在VIM和其他应用程序之间获得对系统的复制/粘贴支持。如果要从VIM复制,请使用 v 或 V 或者您喜欢的任何方法,然后使用命令 :tee >(wxcopy) . 这将把代码复制到Oldschool x11剪切缓冲区中。这个缓冲区还有一个额外的好处,即不需要运行父应用程序来进行粘贴,因此我的问题就消失了。

    我知道你可能很难动手 WX拷贝 ,在Fedora下,提供它的包是:

    WindowMaker

        2
  •  1
  •   dlamotte    16 年前

    这不是一个正确的答案,而是从这里开始:

    :help quoteplus
    :help x11-cut-buffer
    

    具体来说,第二个帮助文本有一些关于挂起VIM的有趣注释。它声明将缓冲区写入主缓冲区,并剪切缓冲区0,以便在挂起后仍然可以使用鼠标中键单击。也许你已经删除了那些或者插件干扰了?也许你运行的是旧版本的vim(我运行的是7.2.182)。

    我的建议是禁用手动安装的所有插件,并尝试使用VanillaVim。如果这不起作用,考虑使用vim的-v(verbose)标志,看看它是否会在缓冲区实际挂起之前尝试将其放入主缓冲区或切断缓冲区0。

    我没有用x(vim x)编译vim,所以我不能亲自测试它。希望这能让你找到正确的方向。