我在Ubuntu 16.04上使用VIM 7.4,并且正在编写Python 3.5。
编写Python文件(.py)时,缩进工作完美,但with
语句除外。也就是说,我可以重新映射 tab 缩进四个空格,VIM在冒号(:
)后自动缩进四个空格,依此类推。
但是当谈到with ... as
语法时,它无法缩进换行符。
视觉示例:
if x == 12:
然后 tab 会产生缩进的换行符,但是
with open("test.txt", 'r') as file:
然后 tab 导致没有缩进的换行符。
我查了很多问题,我不会因为篇幅太多而无法链接,但这里有一些我试过的事情:
set autoindent
; .vimrc
set smartindent
; .vimrc
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
并缩进?
答案 0 :(得分:3)
解决方案确实在filetype indent on
命令中。
出于某种原因,在VIM解释器中键入它将不会执行任何操作。因此,人们可能会认为这不是解决这个问题的方法。
但是,将以下行添加到.vimrc
有效地解决了问题:
filetype indent on