2008-09-15 13 views
58

J'ai des problèmes à régler VIM (7.1.xxx) pour éditer des fichiers python. L'indentation semble être brisée (optimale 4 espaces). J'ai suivi quelques tutoriels que j'ai trouvés via Google. Toujours pas d'effet:/ S'il vous plaît aider.Comment configurer l'autoindentation VIM correctement pour l'édition de fichiers Python - * .py

+1

Quel est exactement votre problème? Comment l'indentation est-elle brisée? – cschol

+1

Quelle plate-forme utilisez-vous? Windows/Mac/Linux? – Jamie

Répondre

55

J'utilise sur mon macbook:

" configure expanding of tabs for various file types 
au BufRead,BufNewFile *.py set expandtab 
au BufRead,BufNewFile *.c set noexpandtab 
au BufRead,BufNewFile *.h set noexpandtab 
au BufRead,BufNewFile Makefile* set noexpandtab 

" -------------------------------------------------------------------------------- 
" configure editor with tabs and nice stuff... 
" -------------------------------------------------------------------------------- 
set expandtab   " enter spaces when tab is pressed 
set textwidth=120  " break lines when line length increases 
set tabstop=4   " use 4 spaces to represent tab 
set softtabstop=4 
set shiftwidth=4  " number of spaces to use for auto indent 
set autoindent   " copy indent from current line when starting a new line 

" make backspaces more powerfull 
set backspace=indent,eol,start 

set ruler       " show line and column number 
syntax on    " syntax highlighting 
set showcmd    " show (partial) command in status line 

(édité pour ne montrer des choses en rapport avec retrait/onglets)

3

Assurez-vous que vous modifiez le fichier de configuration correcte pour VIM. Surtout si vous utilisez Windows, où le fichier pourrait être nommé _vimrc au lieu de .vimrc comme sur d'autres plates-formes.

Dans le type de vim

:help vimrc

et vérifiez votre chemin vers le _vimrc/.vimrc fichier avec

:echo $HOME

:echo $VIM

Assurez-vous que vous utilisez uniquement un fichier . Si vous voulez diviser votre configuration en plus petits morceaux, vous pouvez trouver d'autres fichiers dans votre fichier _vimrc.

:help source

1

pour l'édition python plus avancée envisager d'installer le plug-in simplefold vim. il vous permet de faire un pliage de code avancé en utilisant des expressions régulières. Je l'utilise pour plier mes définitions de classe et de méthode pour une édition plus rapide.

10

J'utilise:

$ cat ~/.vimrc 
syntax on 
set showmatch 
set ts=4 
set sts=4 
set sw=4 
set autoindent 
set smartindent 
set smarttab 
set expandtab 
set number 

Mais, mais je vais essayer les entrées de Daren

+1

Notez que '' 'smartindent''' ne convient que pour l'édition de fichiers C, pas de fichiers Python (et de toute façon a été obsolète maintenant, voir http://stackoverflow.com/a/234578/37639). –

2

Une option plus simple: il suffit de décommenter la partie suivante de la configuration (qui est à l'origine commentée) dans/etc/vim/fichier vimrc:

if has("autocmd") 
     filetype plugin indent on 
    endif