2010-09-29 2 views
16

En cas d'éclipse, vous pouvez appuyer sur Ctrl + Maj + o pour importer automatiquement toutes les bibliothèques que vous référencez dans votre code. Existe-t-il un plugin similaire pour que vim possède cette fonctionnalité avec python?Existe-t-il un plugin pour vim pour importer automatiquement les bibliothèques python?

+0

Merci pour la pointe Eclipse, ne savait pas à ce sujet. –

+0

Cherchez-vous à manipuler les bibliothèques en tant qu'objets ou simplement accéder/lire les fichiers? Pour l'accès, il y a ctags et je peux aussi publier un script d'amélioration getfile 'gf' pour python si c'est ce que vous cherchez. – michael

+0

@michael: Ce que je veux dire c'est que si je tape "itertools.cycle (...)", il devrait regarder en haut du fichier et ajouter automatiquement "itertools d'importation" s'il n'est pas déjà présent. – Daenyth

Répondre

8

Il y a ropevim. Les options autoimport (ajoute les importations manquantes) et organizimport (réorganisation des importations) fonctionnent bien, mais elles sont parfois peu invasives (cela créera un dossier .ropeproject dans votre projet). La complétion du code de corde est également assez bonne, donc j'utilise l'achèvement de code standard avec tabulation, et quand cela ne suffit pas, j'utilise ctrl-space pour utiliser l'auto complétion de ropevim.

Voici quelques-unes de mes correspondances avec ropevim:

" Rope AutoImport and OrganizeImport 
nnoremap <C-S-o> :RopeOrganizeImports<CR>0<CR><CR> 
nnoremap <C-S-i> :RopeAutoImport<CR> 

" Rope AutoComplete 
let ropevim_vim_completion = 1 
let ropevim_extended_complete = 1 
let g:ropevim_autoimport_modules = ["os.*","traceback","django.*","lxml.etree","lxml.*"] 
imap <c-space> <C-R>=RopeCodeAssistInsertMode()<CR> 

" Rope Menu 
menu Python.Create\ Package :RopeCreatePackage<CR> 
menu Python.Create\ Module :RopeCreateModule<CR> 
+0

Salut, j'ai trouvé que autoimport ne fonctionne pas pour django. Par exemple, si je tape lorsque le curseur est sur HttpResponse, ropevim ne pourra pas trouver le nom et l'importer. – ablmf

+0

Je n'ai pas réussi à faire fonctionner ropevim avec macvim – user798719

Questions connexes