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

在vim脚本中从剪贴板粘贴

  •  3
  • ScottS  · 技术社区  · 16 年前

    我想写一个vim函数,其中包括从剪贴板粘贴(如果重要的话,是windows)

    我觉得应该是

    function MyPastingFunc()
      "+p  "paste from clipboard
      "do more stuff
    endfunction
    

    当然“+p只是.vim文件中的一个注释。我怎样才能做到这一点?

    3 回复  |  直到 16 年前
        1
  •  4
  •   too much php    16 年前

    你在找 :normal 命令:

    function MyPastingFunc()
      "paste from clipboard
      normal! "+p
      "do more stuff
    endfunction
    

    这个 ! 用于防止vim同时运行可能是 "+p .

        2
  •  2
  •   Dave Kirby    16 年前

    如果你总是想通过一个新行,你可以使用 :put 命令,例如:

    :put +      will paste after the current line
    :put! +     will paste before the current line
    :123 put +  will paste after line 123
    

    注意:它还会将光标位置移动到插入文本的第一个非空白字符。这可能是你想要的,也可能不是。

        3
  •  1
  •   sleepynate    16 年前

    您应该能够使用feedkeys函数,它的名称非常简单:

    function MyPastingFunc()
        call feedkeys("\"+p")  "paste from clipboard
        "do more stuff
    endfunction