【问题标题】:How to copy only yanked text to system clipboard in vim如何在vim中仅将复制的文本复制到系统剪贴板
【发布时间】:2017-10-08 05:32:19
【问题描述】:

我可以使用clipboard=unnamedplus 复制到系统剪贴板。但是,当使用 ddciw 等命令时,这也会将文本复制到系统剪贴板。

例如,如果我复制一些文本,然后使用ciw,我要替换的文本会复制到系统剪贴板中,我必须再次复制原始文本才能粘贴它。

我想要的是仅在我 yank(y) 选择时复制到系统剪贴板,或者使用诸如 yyyiw 或类似命令之类的命令。

【问题讨论】:

    标签: vim copy-paste


    【解决方案1】:

    解决办法是把这个放到我的.vimrc:

    " Use system clipboard by default
    set clipboard=unnamedplus
    
    " Remap 'c', 'C', 'd', 'D', 'x' and 'X' to save text in a custom register
    nnoremap c "cc
    vnoremap c "cc
    nnoremap C "cC
    vnoremap C "cC
    
    nnoremap d "dd
    vnoremap d "dd  
    nnoremap D "dD
    vnoremap D "dD
    
    nnoremap x "xx
    vnoremap x "xx
    nnoremap X "xX
    vnoremap X "xX
    

    我在这里找到了解决方案:

    【讨论】:

      【解决方案2】:

      如果你只想在某些情况下复制到系统剪贴板,你可以使用"*寄存器而不是全局设置clipboard,例如:"*yy

      或者,如果您想确保命令不会进入系统剪贴板,您可以使用不同的寄存器或黑洞寄存器"_

      有关寄存器的更多信息:

      【讨论】:

      • 这并没有真正的帮助。我知道我可以手动使用寄存器。我正在寻找的是以某种方式覆盖y 命令以复制到剪贴板,而不必每次都写"*
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 2016-08-02
      • 2012-07-14
      • 1970-01-01
      • 2011-04-27
      相关资源
      最近更新 更多