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

标签 vim configuration editor indentation auto-indent

我正在努力学习 Vim。

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

line
  line
    line

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

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

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

最佳答案

更新:这里有更好的答案:https://stackoverflow.com/a/38258720/62202

要在粘贴代码时关闭自动缩进,可以使用特殊的“粘贴”模式。

类型

:set paste

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

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

:set nopaste

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

set pastetoggle=<F3>

关于vim - 将文本粘贴到 vim 时关闭自动缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54351112/

相关文章:

Vim netrw 复制命令

Vim 缓冲区中的 Python?

javascript - Selection.addRange() 已弃用,将从 Chrome 中删除

vim - 如何使用 sed 或 vim 将 {{{...}}} 转换为 Markdown 代码块?

vim - 每次打开文件时运行命令,或一般语法

function - 如何从 qmake 替换函数中更改变量

java - setSession() 没有被调用?

html 目录列表格式

java - 获取 Eclipse 编辑器的当前源代码?

电子邮件编辑器与Campaign Monitor或Mailchimp的编辑器类似吗?