vim粘贴代码进去的时候出现向右缩进问题的解决办法

本文介绍了解决在Vim编辑器中粘贴代码时遇到的自动缩进问题的方法。主要提供了两种解决方案:一是取消自动缩进(setnoai setnoansi),二是开启粘贴模式(set paste)。此外还提到了一些其他可能用到的设置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向vim粘贴代码时,可能出现不断向右缩进的问题。

主要原因是想要粘贴进去的代码本身就已经有缩进,而vim又有设置自动缩进。这样就出现了不断向右缩进的问题。

下面是在往vim中粘贴xml配置信息时候出现的缩进问题展示(截取其中部分)

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
     <name>suse11_SP3_64_2U_raw</name>
          <memory>2097152</memory>
               <currentMemory>2097152</currentMemory>
                    <vcpu>2</vcpu>
                         <cpu mode='host-model'>
                                  <topology sockets='1' cores='2' threads='1'/>
                                       </cpu>
                                            <os>                           

解决这个问题的办法有多种,下面简单介绍两种(都是在命令模式下输入)

(1):set noai nosi 

取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的vim中不行,还是排版错乱。


(2):set paste 
进入paste模式以后,可以在插入模式下粘贴内容,不会有任何变形。除此以外还可以设置很多其他的参数:

textwidth
wrapmargin
set noai
set nosi
softtabstop
revins
ruler
showmatch

formatoptions

通过:help paste可以看相关的帮助文档

使用方法(2)之后的格式正常了(仍然只是截取部分)

main type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
     <name>suse11_SP3_64_2U_raw</name>
     <memory>2097152</memory>
     <currentMemory>2097152</currentMemory>
     <vcpu>2</vcpu>
     <cpu mode='host-model'>
         <topology sockets='1' cores='2' threads='1'/>
     </cpu>
     <os>
         <type arch='x86_64'>hvm</type>
         <boot dev='hd'/>
     </os>


参考资料:

https://www.cnblogs.com/end/archive/2012/06/01/2531147.html

https://blog.youkuaiyun.com/victoryckl/article/details/8168245



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值