VIM 注释掉我粘贴的内容

jvi*_*tti 19 vim vimrc

我在 vim 上尝试复制这个要点时得到了这个:https : //gist.github.com/w0ng/3278077

在此处输入图片说明

我注意到到处都有相同的行为:如果我粘贴包含评论的内容,则评论后面的所有内容都会粘贴评论。

也许这与以下事实有关:如果我在插入模式下写评论并按回车键,以下行会自动附加评论。

我怎样才能摆脱这种行为?

Mat*_*Mat 37

粘贴前进入粘贴模式:

:set paste
Run Code Online (Sandbox Code Playgroud)

切换回“正常”模式:

:set nopaste
Run Code Online (Sandbox Code Playgroud)

  • 或 :set 粘贴!切换 :) (7认同)

jof*_*fel 11

除了Mat 提到paste选项,您还可以直接从 VIM 访问 X 剪贴板:

  • "*p 插入 X11 选择
  • "+p 插入 X11 剪贴板

您需要一个支持 X11 的 VIM 版本(在 Debian 及其衍生版本中,您需要安装vim-gtkvim-gnome包)。

有关更多信息,请参阅文档( :help x11-selection)。


小智 7

这就是正在发生的事情。当您在注释行上时,有 Vim 格式选项会自动注释掉新行。其中一些选项通常默认启用。例如,

# a comment<CR>
# 
Run Code Online (Sandbox Code Playgroud)

如您所见,新行自动添加了注释字符。您可以通过从设置中删除c和来禁用这些选项中的大部分。有关这些选项的更多信息,请参见。rformatoptions:h fo-table

:set formatoptions-=cr
Run Code Online (Sandbox Code Playgroud)

Vim 无法区分使用终端模拟器的粘贴机制粘贴的文本和您键入的文本。设置粘贴选项 ( set paste) 告诉 Vim 等待粘贴文本并禁用任何不需要的格式选项。