Vim在复制粘贴时插入注释

时间:2011-10-12 06:16:22

标签: vim

当我将下面的行复制到Vim时,

" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1

Vim自动将"添加到所有行。我如何摆脱这种情况并按原样粘贴?

In Vim

 66     " OmniCppComplete
 67     " let OmniCpp_NamespaceSearch = 1
 68     " let OmniCpp_GlobalScopeSearch = 1
 69     " let OmniCpp_ShowAccess = 1

4 个答案:

答案 0 :(得分:85)

两个主要选项:

  • 使用"+p
    直接从寄存器直接放入,而不进入插入模式
    • "表示“使用以下注册表”;
    • +指的是剪贴板,
    • p放!

如果您在Linux中使用中间点击选择粘贴,请使用*代替+来引用它。

  • 在进入插入模式进行粘贴之前,请运行:set paste。使用:set nopaste离开插入模式后将其关闭。

答案 1 :(得分:20)

在Vim中转到:set paste模式。然后按 Ctrl + Shift + V

它会起作用。

不要通过编辑和粘贴来粘贴。它不起作用。

答案 2 :(得分:2)

到目前为止,每个人都没有抓住重点。当您开始换行时(无论是粘贴还是键入),Vim都会自动插入注释字段。

您设置了format选项,至少使用r或o选项。要查看您的设置,请输入

:set formatoptions?

要删除这些选项,请输入

:set formatoptions=

然后粘贴将按照您期望的方式进行。

类型

:help fo-table

查看format选项中的字母分别表示什么。

答案 3 :(得分:0)

当您在用户界面中处理Vim时,请转到菜单终端重置并清除。然后尝试粘贴您拥有的代码。

它会被粘贴。