繁体   English   中英

自动缩进不适用于Python的“ with”

[英]Auto-indent not working on Python's “with”

我在Ubuntu 16.04上使用VIM 7.4,并且正在为Python 3.5进行编码。

编写Python文件(.py)时,除了with语句外,缩进效果很好。 即,我可以由四个空间重新映射选项卡缩进,VIM自动四个空格冒号后缩进( : ),依此类推。

但是,当with ... as语法时,它无法缩进换行符。

视觉示例:

if x == 12:

然后缩进换行选项卡的结果,但

with open("test.txt", 'r') as file:

然后制表符将在不缩进的换行符上显示。

我检查了很多问题,因为它们太多了,所以我不会链接,但这是我尝试过的一些事情:

  • 在我的.vimrc添加set autoindent ;
  • 在我的.vimrc添加set smartindent ;
  • 在VIM的解释器中键入filetype indent on
  • 键入:set indentkeys? 并检查冒号是否在列表中。

它几乎是空的,所以我怀疑它是否有用,但这是我的.vimrc

set nocompatible
set autoindent
set smartindent
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
inoremap <S-Tab> <C-d>

我该如何修复VIM,以便它在换行符之后能with...as和缩进识别?

解决方法的确是在命令中filetype indent on

由于某些原因,在VIM解释器中键入它不会执行任何操作。 因此,可能会认为这不是解决此问题的方法。

但是, .vimrc添加到.vimrc有效解决此问题:

filetype indent on

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM