当我试图在 vim 上复制这个要点时,我得到了这个:https://gist.github.com/w0ng/3278077
我注意到到处都有相同的行为:如果我粘贴包含注释的内容,则注释后面的所有内容都会被粘贴为注释。
也许这与以下事实有关:如果我在插入模式下编写注释并按 Enter 键,则以下行会自动附加注释。
我怎样才能摆脱这种行为?
答案1
粘贴前进入粘贴模式:
:set paste
要切换回“正常”模式:
:set nopaste
答案2
答案3
这就是发生的事情。 Vim 的格式化选项可以在您位于注释行时自动注释掉新行。其中一些选项通常默认启用。例如,
# a comment<CR>
#
正如您所看到的,新行自动添加了注释字符。您可以通过从设置中删除c
和来禁用大部分选项。有关这些选项的更多信息,请参阅 参考资料。r
formatoptions
:h fo-table
:set formatoptions-=cr
Vim 无法区分使用终端仿真器粘贴机制粘贴的文本和您键入的文本。设置粘贴选项 ( set paste
) 告诉 Vim 期望粘贴文本并禁用任何不需要的格式选项。
答案4
作为一个侧面答案,如果您有任何包含此内容的文件,您可以通过进入垂直视觉块模式来摆脱它
ctrl+v然后使用箭头键 / hjkl 导航要删除的部分,然后点击d
有时我发现这比撤消设置粘贴模式、粘贴和取消设置粘贴模式更快。