youcompleteme plugin para code awesome vim autocomplete

plugin - vim youcompleteme javascript



Vim: hacer que la autocompletación sea más inteligente (7)

En cualquier caso, recomiendo YouCompleteMe (YCM) . Proporciona correspondencia (difusa) de los identificadores de su archivo actual, así como la finalización de la ruta, la integración con motores de finalización externos, ...

anuncio 1)
Si te gusta la terminación semántica del eclipse, utiliza eclim para integrar vim con eclipse. (Alternativamente use otro motor semántico para YCM)

anuncio 2)
Estos 2 juegan muy bien juntos por cierto., YCM puede incluso proporcionar la definición de la función (= lista de parámetros) de la función recientemente completada.

anuncio 3)
eso es lo que YCM hace de todos modos

anuncio 4)
no estoy seguro, qué quieres decir con eso. nunca usé ctags!

PD: Recomiendo usar UltiSnips y Tagbar (y si te gusta UndoTree ), además, lo que hace de vim un IDE perfecto para mí.

Uso ctags, taglist, etc., para completar automáticamente en Vim. Sin embargo, es muy limitado en comparación con Visual Studio intellisense o Eclipse auto-completion. Me pregunto si es posible sintonizar Vim a:

  1. Mostrar autocompletar siempre que sea o -> están escritos. Pero solo después de un texto que podría ser una variable (por ejemplo, evitar mostrar autocompletado después de un número).

  2. Mostrar los parámetros de la función cuando (está escrito.

  3. Deje de eliminar la lista de finalización automática cuando algunos eliminen todos los caracteres después. o ->: cuando ingreso un nombre de variable, presione. o -> para buscar un determinado miembro, con frecuencia tengo que eliminar todos los caracteres que escribo después del. o ->, pero esto hace que Vim oculte la lista de finalización automática. Me gustaría mantenerlo visible a menos que presione Esc.

  4. Mostrando autocompletado relacionado: cuando escribo una variable y presiono ^ X ^ O, generalmente me muestra todas las etiquetas en el archivo ctags. Me gustaría mostrar solo las etiquetas relacionadas con la variable.

Gracias por la ayuda.

EDITAR : Algunas personas votan por esta pregunta, pero ningún cuerpo parece saber la respuesta. Así que solo quería mencionar que no tiene que proporcionar una respuesta completa; las respuestas parciales a cualquiera de los puntos mencionados también serían buenas.


Me encantaría tener la misma funcionalidad que estás buscando y acaba de encontrar un plugin prometedor:

https://github.com/Shougo/neocomplcache parece que podría ser el nuevo autocomplpop, y parece funcionar bastante bien durante mis ensayos iniciales ... ahora para configurar el omni completo para trabajar con scala ~


Para hacer que vim active cierto comportamiento cuando se presiona una tecla, necesita asignar la clave a una función.

Por ejemplo, mapear la clave . para llamar a algún tipo de finalización cuando esté en el modo INSERT que debería hacer:

:inoremap <expr> <buffer> . MyFunction()

y luego la función necesitaría evaluar el contexto donde fue llamada y presentar una respuesta apropiada para el usuario.

Editar : Esta es la base de cómo funciona el clang complete mencionado por @honk.

No estoy seguro si puede personalizar el comportamiento de omnifunc para satisfacer sus necesidades, pero según mi experiencia, nunca fui demasiado lejos. Como dijo @Mikhail, necesitarías hacer un seguimiento de las cosas que en la práctica significan interpretar o incluso ejecutar el código hasta cierto punto.



Uso vim todos los días, y no conozco ningún script existente que pueda hacer esto. Esta acción requeriría la comprensión de las clases y el seguimiento de las variables. someObject-> significa que VIM sabrá qué clase es la variable someObject , y luego podrá buscar métodos / variables dentro de esa clase.

Escribir guiones para vim es relativamente fácil, aunque como ha comentado, nadie ha respondido todavía. Hasta mi voto.



Para (1) cuando se trabaja con C ++ o C clang complete es una buena opción