Pulpcode

捕获,搅碎,拼接,吞咽

0%

在vim中复制python代码遇到的问题

你把你的python代码粘贴到你的vim中,就会出现类似的场景:

vimindent

实际上,不仅仅是vim,我的服务器emacs和mac上的emacs,因为进行了配置,也会在粘贴python代码的时候出现过类似的场景,就是缩进不对。要么没缩进了,要么缩进的乱七八糟。

这明显是你给你的编辑器配置了一些缩进功能,而这些缩进功能对于手敲代码是没问题的,但是直接粘贴来的代码,就会出现各种各样的问题。

首先来看vim编辑器下的两个配置选项:

1
2
3
4
set autoindent
# 自动缩进,指的是插入下一行,下一行的缩进将与当前行保持一致。
set cindent
# 按照被编辑的代码,进行缩进,比如python的冒号,比如c++大括号

我不知道具体的原因和解释,但是可以猜到就是上面缩进配置,造成了此问题。

网上提供的一种解决办法是使用:set paste,这样就进入了粘贴模式,此模式将取消自动缩进。
这样插入就没有问题了,在插入完成之后,再选择set nopaste就可以了,(因为你还是想要自动缩进这个功能。)

这里并没有讲解emacs的解决办法,因为不想再去折腾了。