粘贴内容时如何在 Vim 中保留标签?

pic*_*rdo 4 vim

当我将任何代码粘贴到 Vim 中时,会发生以下情况。

在此处输入图片说明

我怎么能告诉 Vim 不要搞砸我的标签?

小智 5

使用paste模式,这是一种特殊的模式,通知 vim 您将粘贴文本而不是键入文本。只需输入:

:set paste
Run Code Online (Sandbox Code Playgroud)

有一个像这样的映射很有用:

:set pastetoggle=<F2> 
Run Code Online (Sandbox Code Playgroud)

在粘贴和常规模式之间快速切换。

此外p,如果您的 vim 支持*和/或+注册,您可能还想考虑使用 just 从剪贴板粘贴。在这种情况下使用:

"+p
Run Code Online (Sandbox Code Playgroud)

从剪贴板粘贴,它会保持缩进。

注意:在你的 vimrc 中使用它有时很有用:

" better yank to clipboard
if has('clipboard')
  if has('unnamedplus')  " When possible use + register for copy-paste
    set clipboard=unnamed,unnamedplus
  else         " On mac and Windows, use * register for copy-paste
    set clipboard=unnamed
  endif
endif
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我只是用 把它从我的 vimrc 中拉出来y,然后用 粘贴到这里CTRLv,这样可以为你节省一些工作;)

我希望它有帮助:)