I'm attempting to switch over to VIM right now, and would like to get it to indent automatically as an IDE would for Python. I've got the following .vimrc file
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>
The code automatically indents in some cases. For instance, I've tried if statements and while statements, which after hitting enter are indented. So the following will indent properly.
if True:
#this is where my next line automatically starts
while True:
#this is where my next line automatically starts
But for class/function definitions, there is no indentation.
class Request_Form(QDialog):
#no indentation -- cursor comes here
Could anyone help me correct this behavior