vim中粘贴代码片段出现每行新增缩进的解决方法-set paste

一、结论:

set paste

二、问题来源:

准备复制一段代码到Linux服务器上的vim文件中,效果如下:
在这里插入图片描述

三、set paste的效果

在这里插入图片描述

四、根因分析

在 Vim 编辑器中,粘贴文本时通常会遇到自动缩进的问题。Vim 有一个自动缩进的特性,当你在插入模式下输入新行时,Vim 会尝试根据上下文自动插入适当的缩进。这在编写代码时通常是非常有用的,因为它可以帮助你保持一致的代码风格。然而,当你尝试粘贴一段已经有自己缩进的代码或文本时,这个自动缩进的特性就会导致问题。

为了解决这个问题,Vim 提供了 :set paste 命令,这个命令会暂时禁用 Vim 的一些特性,包括自动缩进。这意味着当你粘贴文本时,它会保留原有的格式和缩进,而不会添加任何新的缩进。

具体来说,set paste 会更改以下行为:

  • 禁用自动缩进
  • 禁用插入模式中的代码补全
  • 禁用映射的键
  • 禁用文本宽度自动换行

这些更改旨在确保粘贴的文本保持原样,没有任何 Vim 自动添加的格式。一旦粘贴完成,你应该使用 :set nopaste 命令来恢复 Vim 的正常行为。

在 Vim 中,你可以这样使用 :set paste:

  • 进入命令模式(按 Esc 键)。
  • 输入 :set paste 并按下 Enter。
  • 进入插入模式(按 i 键)并粘贴你的文本。
  • 粘贴完成后,再次进入命令模式。
  • 输入 :set nopaste 并按下 Enter,以退出粘贴模式。

注意,如果你频繁进行粘贴操作,你可能会想要映射一个键来快速切换paste模式。例如:

:set pastetoggle=<F2>

这个问题影响好几天,严重影响工作效率,未能及时想办法去解决,而是听之任之;要敢于突破思想的阻碍,不要害怕尝试,效率大大提升,心情也好;

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值