Vim for Python 中的自动缩进

Vim for Python 中的自动缩进

我现在正尝试切换到 VIM,并希望让它像 Python 的 IDE 一样自动缩进。我有以下 .vimrc 文件

syntax on

set number
autocmd FileType tex,latex,python set showmatch

nnoremap j gj
nnoremap k gk

"Python Settings
autocmd FileType python set softtabstop=4
autocmd FileType python set tabstop=4
autocmd FileType python set autoindent
autocmd FileType python set expandtab
autocmd FileType python set textwidth=80
autocmd FileType python set smartindent
autocmd FileType python set shiftwidth=4
autocmd FileType python map <buffer> <F2> :w<CR>:exec '! python' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F2> <esc>:w<CR>:exec '! python' shellescape(@%, 1)<CR>

在某些情况下,代码会自动缩进。例如,我尝试过 if 语句和 while 语句,按下回车键后它们会缩进。因此,下面的代码将正确缩进。

if True:
    #this is where my next line automatically starts
while True:
    #this is where my next line automatically starts

但是对于类/函数定义,没有缩进。

class Request_Form(QDialog):
#no indentation -- cursor comes here

有人能帮我纠正这个行为吗

答案1

在我的 vimrc 文件中添加以下行解决了该问题:

filetype plugin indent on

相关内容