2010-09-29 21 views
16

En eclipse, puede presionar Ctrl + Shift + o para importar automáticamente todas las bibliotecas a las que hace referencia en su código. ¿Hay algún complemento similar para que vim tenga esta característica con python?¿Hay algún complemento para que vim pueda importar automáticamente las bibliotecas de Python?

+0

Gracias por la punta de Eclipse, no sabía sobre esto. –

+0

¿Está buscando manipular las bibliotecas como objetos o simplemente acceder/leer los archivos? Para el acceso hay ctags y también puedo publicar un script getfile 'gf' para python si eso es lo que estás buscando. – michael

+0

@michael: Lo que quiero decir es que si escribo "itertools.cycle (...)", debe buscar en la parte superior del archivo y agregar automáticamente "importación de herramientas de iteración" si aún no está presente. – Daenyth

Respuesta

8

Hay ropevim. Está disponible en pypi así como

Las funciones autoimportación (agrega importaciones faltantes) y organizationimport (reordenar importaciones) funcionan bien, pero a veces es un poco invasiva (creará una carpeta .ropeproject en su proyecto). La finalización del código de la cuerda también es bastante buena, así que utilizo la terminación de código estándar con pestañas, y cuando no es suficiente, utilizo ctrl-space para usar el autocompletado de ropevim.

Éstos son algunos de mis asignaciones con 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

Hola, he encontrado que el autoimporte no funciona para django. Por ejemplo, si escribo cuando el cursor está en HttpResponse, ropevim no podría encontrar el nombre e importarlo. – ablmf

+0

No pude hacer que ropevim trabaje usando macvim – user798719

Cuestiones relacionadas