在编辑Python代码时,我很难使用vimsmartindentvim特性。一般来说,我喜欢vim中的:set nocompatible
选项,以及:set autoindent
(和/或:set smartindent
)。一切都很好,除了一个非常恼人的行为。假设您编写了一些代码,然后希望插入从别处获取的Python代码片段。python代码段可能包含注释,例如
# comment1
a=1
# comment2
b=1
在vim中,当您进入插入模式,例如键入o并粘贴代码时,vim将执行太多缩进代码的工作,而不是代码片段
^{pr2}$因此,它在第一个注释之后插入额外的注释(井号),并在代码片段的其余部分保留它。现在想象一下你有很长的代码片段,有不同的标识,你可以想象粘贴操作看起来有多难看(代码将不正确地缩进和注释)。在
有什么办法解决吗?在
解决这个问题的唯一方法是将vim兼容模式与noautoindent
选项一起设置,然后粘贴代码片段。这样,它将正确插入(按原样)。但是在模式之间切换(nocompatible
vscompatible
)太多了(称我为lazy,但这应该是在nocompatible
模式下正确插入带注释的代码段的一种方法)。将noautoindent
设置为nocompatilbe
模式没有任何区别(问题仍然存在),因此它与兼容/不兼容模式有关。在
你想要的选择是
它会将你想要的东西粘贴成原始的。在
相关问题 更多 >
编程相关推荐