2011-05-11 18 views
5

He estado usando Vim desde hace bastante tiempo, y aunque el código de finalización (omni, diccionario, etc.) funciona bien, me he perdido una cosa.Sugerencias de sintaxis en Vim

Sugerencia de sintaxis, así que básicamente me gustaría saber qué argumentos acepta una función, en lugar de buscarla en línea Me gustaría tenerla en algún lugar de Vim, preferiblemente en un cuadro sobre la línea actual o algo así.

¿Hay alguna manera de lograr esto? Trabajo principalmente con PHP, Python y C++, así que lo necesito para esos idiomas.

Editar: Ya tengo ctags instalados, pero por lo que pude ver, no proporcionó sugerencias de sintaxis, lo intenté con las funciones estándar de PHP, no sé si he pasado por alto algo.

También existe la opción de usar snipMate e ingresar todas las funciones de biblioteca estándar, pero eso es mucho trabajo, hubiera imaginado que alguien ya lo hizo (y sí hay algo así como UltiSnips pero es inferior a snipMate)

+0

Puede echar un vistazo a [ctags] (http://ctags.sourceforge.net/). No lo he explorado yo mismo, pero lo sigo haciendo. Sé que se supone que permite la finalización de miembros de la estructura, y cosas por el estilo. Sin embargo, no estoy seguro si puede hacer argumentos funcionales. –

+0

@Goulash Sí, ya lo he instalado y, aunque proporciona la compleción, no parece proporcionar sugerencias de sintaxis. –

+2

No sé para Python y C++, pero en PHP, '' trae un menú contextual con posibles terminaciones y una pequeña ventana con el "prototipo" del método, incluidos los nombres y tipos arg. – romainl

Respuesta

2

Creo que el complemento echofunc hace eso. Cuando está escribiendo código, después de presionar ( se muestra el prototipo de función en la barra de estado.

Comprueba también el plugin srcexpl.vim que creo que hace algo similar (aunque no lo uso demasiado).

+0

Gracias por los consejos, y parece que hace lo que quiero que haga, pero hay un problema, que está relacionado con los códigos, ¿cómo hago para que también muestre funciones integradas/de módulo de PHP/Python en lugar de solo mi propio código? –

+0

No sé exactamente cómo hacer eso. Creo que es posible que desee hacer una pregunta por separado para eso. – skeept

+0

Hmm, sí, probablemente debería –

4

Por la forma en que suena, creo que estás buscando set completeopt+=preview. Se puede encontrar más información en :help completeopt.

Cuestiones relacionadas