小编典典

将文本粘贴到 vim 时关闭自动缩进

all

我正在努力学习 Vim。

当我从剪贴板将代码粘贴到我的文档中时,我会在每一行的开头得到额外的空格:

line
  line
    line

我知道你可以关闭自动缩进,但我无法让它工作,因为我有一些其他设置冲突或其他东西(这在我的 .vimrc 中看起来很明显,但当我将它们取出时似乎并不重要)。

如何在粘贴代码时关闭自动缩进,但在编写代码时仍然有 vim 自动缩进?这是我的.vimrc文件:

set expandtab  
set tabstop=2  
set shiftwidth=2  
set autoindent  
set smartindent  
set bg=dark  
set nowrap

阅读 137

收藏
2022-02-25

共1个答案

小编典典

更新: 更好的答案在这里:https://codingdict.com/questions/222961

要在粘贴代码时关闭自动缩进,有一种特殊的“粘贴”模式。

类型

:set paste

然后粘贴您的代码。请注意,工具提示中的文本现在显示-- INSERT (paste) --.

粘贴代码后,关闭粘贴模式,以便在键入时自动缩进再次正常工作。

:set nopaste

但是,我总是觉得这很麻烦。这就是为什么我映射<F3>它可以 在编辑文本时在粘贴和不粘贴模式之间切换! 我将此添加到.vimrc

set pastetoggle=<F3>
2022-02-25