当我将下面这些行粘贴到Vim中时,
" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
Vim会自动在所有行加上"
注释字符。我该如何摆脱这个问题并粘贴原始内容?
What I'm getting after the paste in Vim:
66 " OmniCppComplete
67 " let OmniCpp_NamespaceSearch = 1
当我将下面这些行粘贴到Vim中时,
" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
Vim会自动在所有行加上"
注释字符。我该如何摆脱这个问题并粘贴原始内容?
What I'm getting after the paste in Vim:
66 " OmniCppComplete
67 " let OmniCpp_NamespaceSearch = 1
两个主要选项:
"+p
"
表示“使用以下寄存器”;+
指的是剪贴板,并且p
用于粘贴!如果您在Linux中使用中键选择粘贴,请使用*
代替+
。
:set paste
进行粘贴。离开插入模式后,使用:set nopaste
关闭它。进入Vim编辑器的模式,输入命令:set paste
,然后按下Ctrl + Shift + V即可进行粘贴操作。
这样可以确保粘贴的内容正确无误。
请勿使用编辑和粘贴功能,此方法不可行。
i
进入插入模式吗? - Peter Mortensen目前为止,所有人都没抓住重点。当您开始新行时(无论是粘贴还是键入),Vim会自动插入注释字段。
您设置了formatoptions,至少设置了 r 选项,可能还设置了 o 选项。要查看您的设置,请键入
:set formatoptions?
要删除这些选项,请输入
:set formatoptions=
Paste会按照您的期望工作。
键入:help fo-table
查看formatoptions中每个字母的含义。
当您在Vim的UI上工作时,请转到菜单 Terminal → 重置和清除。然后尝试粘贴您所拥有的代码。
它将按原样粘贴。
:set paste
部分对我起作用(在通过SSH连接从Mac iTerm2运行的Ubuntu框中的Vim,因此可能在服务器端没有剪贴板)。 - Calimo"+p
的意思,但是:set paste
的方法非常完美。 - Jake"+p
。 - Cascabel"+
,然后p
就能够粘贴了。如果没有任何反应,那是因为vim无法访问你的操作系统剪贴板。 - Cascabel