2009-10-06 12 views
18

Meine aktuelle .vimrc Konfiguration ist unten:.vimrc Konfiguration für Python

set nohlsearch 
set ai 
set bg=dark 
set showmatch 
highlight SpecialKey ctermfg=DarkGray 
set listchars=tab:>-,trail:~ 
set list 
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class 
set tabstop=4 
set shiftwidth=4 
set expandtab 
set autoindent 
set smartindent 
syntax on 
set listchars=tab:>- 
set listchars+=trail:. 
set ignorecase 
set smartcase 
map <C-t><up> :tabr<cr> 
map <C-t><down> :tabl<cr> 
map <C-t><left> :tabp<cr> 
map <C-t><right> :tabn<cr> 

Allerdings, wenn ich Python-Skripte zu schreiben, wenn ich „ENTER“ drücken, wird es an den Anfang der nächsten Zeile gehen. Was füge ich hinzu, damit es automatisch für mich tabelliert wird?

Antwort

12

Die kurze Antwort ist, dass Ihre AutoMCD den BufEnter-Trigger fehlt, so dass es nicht ausgelöst wird, wenn Sie eine neue Datei erstellen. Versuchen Sie stattdessen:

au BufEnter,BufRead *.py setlocal smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class 

Bitte beachte, dass ich auch die set-setlocal geändert. Dies verhindert, dass diese Optionen auf die Optionen Ihrer anderen Puffer stampfen.

Der "richtige" Weg zu tun, was Sie tun möchten, ist filetype indent on zu Ihrem .vimrc hinzufügen. Dadurch wird der eingebaute Dateityp-basierte Einzug aktiviert. Vim wird mit Python-Einrückung unterstützt. Weitere Informationen finden Sie unter :help filetype-indent-on.

13

Try this:

filetype indent on 
filetype on 
filetype plugin on 

ich Python-Programmierung in erster Linie tun und das ist die Hauptlast meiner vimrc

set nobackup 
set nowritebackup 
set noswapfile 
set lines=40 
set columns=80 
set tabstop=4 
set shiftwidth=4 
set softtabstop=4 
set autoindent 
set smarttab 
filetype indent on 
filetype on 
filetype plugin on 
+1

Vielen Dank für diese, ich bin mit. Obwohl ich auch 'set expandtab' hinzugefügt habe. – Paolo

+1

Ich kann bestätigen, dass dieses Setup gut für Python funktioniert. – Joel

4

Sie sollten nicht explizit Python Schlüsselwörter indent haben. Die Datei $ VIM/indent/python.vim kümmert sich darum. Sie müssen nur Dateityp Einzug und Autoindent aktivieren.

3

I (einfach) verwenden diese:

set shiftwidth=4 
set tabstop=4 
set expandtab 
filetype plugin on 
filetype indent on 
syntax on