Accueil > Astuces > Vim comme IDE Python

Vim comme IDE Python

Je me suis récemment décidé à peaufiner ma configuration de Vim (qui était plutot basique jusqu’ici) pour que le développement y soit plus facile. Alors étant donné que la grande majorité du code que j’édite est en Python, j’ai cherché un maximum d’astuces pour en faire un IDE digne de ce nom.

Voici donc ma nouvelle configuration:

vimrc


"
" Vim configuration file
"

set nocompatible

if has("autocmd")
 filetype plugin on
 filetype plugin indent on
endif
if has("mouse")
 set mouse=a
endif

syntax on
set hlsearch
set incsearch
set ignorecase
set showmatch
set noswapfile
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set autoindent
set foldmethod=indent
set backspace=indent,eol,start
set history=100
set ruler
set showcmd
set number
set nospell
colorscheme delek
map <C-t> :tabnew<CR>

"
"python specific settings
"

autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
set omnifunc=pythoncomplete#Complete
imap <C-Space> <C-x><C-o>

autocmd BufWrite *.py silent! %s/[\r \t]\+$//

map <buffer> <F5> :w<CR>:!/usr/bin/env python % <CR>

python << EOF
import os
import sys
import vim
for p in sys.path:
 if os.path.isdir(p):
 vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
EOF

autocmd BufNewFile *.py,*.pyw 0read ~/.vim/templates/python.txt

la plupart des commandes sont facilement compréhensibles, pour les autres, une petite explication:

ligne 34: raccourci clavier pour pouvoir ouvrir un nouvel onglet avec Ctrl+t

ligne 40,41: code-completion améliorée grace à ce script

ligne 42: code-completion avec Ctrl+Space au lieu de Ctrl+x,Ctrl+o (uniquement en mode insertion)

ligne 44: suppression des espaces en fin de ligne lors de la sauvegarde du fichier

ligne 46: lancer le fichier actuel avec la touche F5

ligne 48-55: ajoute les modules python au path de vim, ‘gf’ sur un import ouvrira le module en question dans vim (Ctrl+o pour revenir à l’ancien fichier)

ligne 57: utilisation d’un template lors de la création d’un nouveau fichier .py, mon template est tres simple et contient uniquement


#!/usr/bin/env python
# -*- coding: utf-8 -*-

J’ai également installé le plugin pyflakes pour vim, qui permet d’afficher les erreurs de syntaxe en temps réel, les erreurs sont soulignées et des infos supplémentaires s’affichent si on place le curseur sur l’erreur en question.

En plus de tout ça, j’ai installé un script vim pour améliorer l’indentation auto pour Python, pour cela il suffit de placer dans ~/.vim/indent/ le fichier récupérable ici

Voilà c’est tout, mais ca améliore vraiment le confort, en tout cas pour moi.

Si vous avez d’autres astuces, n’hésitez pas à poser un commentaire.

About these ads
Catégories:Astuces Tags:, , ,
  1. 11 juin 2011 à 12 h 44 min

    Super article, c’est pile ce que je cherchais. Merci du partage :)

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

%d bloggers like this: