Autocompletado en Vim


Después de un largo "entrenamiento", finalmente he cambiado a Vim; pero tengo algunos problemas con el autocompletado. ¿Cómo puedo tener una sugerencia de código mientras escribo?

Normalmente desarrollo PHP, Ruby, HTML, C y CSS.

Author: Teun Zengerink, 2011-03-02

9 answers

Puede usar un plugin como AutoComplPop para obtener la finalización automática del código a medida que escribe.

2015 Editar: Yo uso personalmente YouCompleteMe ahora.

 115
Author: michaelmichael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-26 19:55:06

Usar Ctrl-N para obtener una lista de sugerencias de palabras mientras está en modo de inserción. Escriba :help i_CTRL-N para ver la documentación de Vim sobre esta funcionalidad.

Aquí es un ejemplo de importación del diccionario Python en Vim.

 334
Author: Orbit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-26 14:22:47

Puede comenzar desde la configuración integrada omnifunc.

Solo pon:

filetype plugin on
au FileType php setl ofu=phpcomplete#CompletePHP
au FileType ruby,eruby setl ofu=rubycomplete#Complete
au FileType html,xhtml setl ofu=htmlcomplete#CompleteTags
au FileType c setl ofu=ccomplete#CompleteCpp
au FileType css setl ofu=csscomplete#CompleteCSS

En la parte inferior de su .vimrc, luego escriba <Ctrl-X><Ctrl-O> en modo de inserción.

Siempre confío en esta finalización CSS.

 9
Author: ernix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-06 14:10:59

También hay https://github.com/Valloric/YouCompleteMe e incluye cosas como Jedi y también tiene coincidencia difusa. Hasta ahora he encontrado YCM para ser el más rápido entre lo que he intentado.

Editar: También existen algunos nuevos como https://github.com/maralla/completor.vim

 5
Author: Nishant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-19 11:41:43

He usado neocomplcache durante aproximadamente medio año. Es un plugin que recoge una caché de palabras en todos sus buffers y luego los proporciona para que usted pueda autocompletar con.

Hay una matriz de capturas de pantalla en la página del proyecto en el enlace anterior. Neocomplcache también tiene un montón de opciones de configuración, de las cuales también hay ejemplos básicos en la página del proyecto.

Si necesita más profundidad, puede mirar la sección relevante en mi vimrc - solo busque por la palabra neocomplcache.

 3
Author: sp3ctum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-02 18:49:08

Recientemente descubrí un proyecto llamado OniVim, que es un front-end basado en electrones para NeoVim que viene con muy buen autocompletado para varios idiomas fuera de la caja, y ya que es básicamente solo un envoltorio alrededor de NeoVim, tiene todo el poder de vim a su disposición si la GUI no cumple con sus necesidades. Todavía está en un desarrollo temprano, pero está mejorando rápidamente y hay una comunidad realmente activa a su alrededor. He estado usando vim por más de 10 años y comenzó a darle a Oni una prueba de manejo hace unas semanas, y aunque tiene algunos errores aquí y allá, no se ha interpuesto en mi camino. ¡Lo recomendaría encarecidamente a los nuevos usuarios de vim que todavía están recibiendo sus vim-fingers!

introduzca la descripción de la imagen aquí

OniVim: https://www.onivim.io /

 3
Author: Parker Ault,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-25 02:02:52

Aquí está enlace ! para PHP.

Presione las teclas Ctrl + x seguidas de Ctrl + o mientras escribe algunas funciones PHP.

Gracias a Oseems Solutions para el tutorial

 1
Author: Brian Kenya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-23 10:43:22

Si solo desea completar automáticamente desde la caché de sus búferes actuales, supertab es más fácil de instalar que neocomplete, puede funcionar en Mac vim preinstalado sin la necesidad de MacVim.

Puedes consultar otras alternativas en vim awesome.

 1
Author: tning,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-23 15:46:40

Para PHP, Padawan con Deoplete son grandes soluciones para tener un autocompletado PHP robusto en Neovim. He intentado un montón de cosas y Padawan trabajar como un encanto!

Para Vim puede usar Neocomplete en lugar de Deoplete.

Escribí un artículo sobre cómo hacer un IDE PHP Vim si alguien está interesado. Por supuesto que Padawan es parte de ello.

 0
Author: Matthieu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-04 13:05:48