Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Programando con Vim

Programación
Por Draco
departamento vim naranja escribe fino...vim,vim,vim , Sección Software Libre
Puesto a las Thu Jan 2nd, 2003 at 06:05:05 PM CET

Muchos de los habituales de esta página somos usuarios de Vim. Se puede decir que es un clon de Vi evolucionado. Incorpora una ingente cantidad de opciones, pero tal vez una de las más importantes es su lenguaje de scripting que permite ampliar sus capacidades. Intentaré hacer un repaso (ligero) sobre las funcionalidades y plugins de Vim que vienen bien para programar.

 


Antes de nada, indicaros el "C editing with VIM HOWTO", que acabo de encontrar (y no he leido todavía). Supongo que parte de lo que aquí señale estará mejor explicado allí. Bueno, al grano. Cosas interesantes para programar con vim:

  • Tags: Se puede decir que imprescindibles una vez que los conoces. Permiten navegar por el código yendo a la definición de variables, métodos, etc... Su utilidad sube exponencialmente cuando leemos código de otras personas. No son exclusivas de VI(M)(antes de que alguien me lo indique :-). Con C-] vamos a la definicón del tag bajo el cursor y con C-T volvemos. Mucha más información sobre los tags con :help usr_29.txt
  • Folding: El "folding" permite plegar zonas de código/texto de manera que el programa sea mucho más legible. Es habitual encontrar zonas de código enormes(p.ej un switch(){} con muchas opciones) que ya conocemos bien y que nos impiden ver la estrutura general del programa. Si lo plegamos solo veremos de él la condición y el número de líneas. Por supuesto podemos desplegarlo cuando queramos. Más info con :help usr_28.txt. Recomiendo el método de folding indent, si el fuente está bien tabulado.
  • Plugin Taglist: Permite tener un panel izquierdo en el que vemos todos los tags definidos en el fichero en el que estamos editando en este momento. Es bastante útil, ya que podemos ver todos los métodos de una clase y sus argumentos.
  • Plugin TagMenu:Como el anterior, pero en lugar de en un panel, vemos los tags en un menú de gvim.
  • Plugin Project Este plugin es algo más complejo de usar que los otros dos. Nos permite crear proyectos como muchos IDE's. Permite asociar programas para lanzar los elementos del proyecto que no sean texto plano, como pdf's, etc... Sería la leche que se pudiera usar junto con el Plugin taglist de forma que ambos estuvieran en un solo panel... pero no se puede :-(
  • Plugin TagExplorer Es una combinación entre el Taglist y el Project. Tenemos en el panel izquierdo los ficheros del directorio actual(podemos definir filtros para solo ver los .c si queremos). En cualquier momento podemos "abrir"(mejor desplegar) ese nombre de fichero para ver cuales son los tags que tiene asociados.
  • Y más... : Muchos más trucos en los Vim Tips

Seguro que tenéis vuestros propios trucos... estoy deseando oirlos :-)

:wq
< Gentoo 1.4 rc2 lanzada (16 comments) | configurando el menu (15 comments) >
Enlaces Relacionados
· Vim
· "C editingwith VIM HOWTO"
· Tags
· Plugin Taglist:
· Plugin TagMenu:
· Plugin Project
· Plugin TagExplorer
· Vim Tips
· More on Programación
· Also by Draco

Encuesta
Los tags...
· son imprescidibles 13%
· son útiles 36%
· no valen para nada 5%
· no los conocía 22%
· ¿los queeeeé? 22%

Votos: 36
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Programando con Vim | 7 comentarios (6 temáticos, 1 editoriales, 0 ocultos)
AutoCompletación en vim (4.50 / 4) (#2)
por dmolina a las Thu Jan 2nd, 2003 at 08:19:23 PM CET
(Información Usuario)

El vim permite realizar autocompletación por medio de la combinación CTRL-N (ya lo combiarás por otra tecla ;-) ).

La "autocompletación" de vim se puede establecer en función de las palabras (o frases enteras) aparecidas en :
  • Ese fichero.
  • Todos los ficheros abiertos.
  • Un fichero de directorio.
  • El fichero de Tags.
  • Una combinación de las anteriores
Se hace por medio del tag complete (cpt). Ejemplo cpt=t,k,. (primero busca en el fichero de tags, luego en el directorio y por último en el fichero actual).

La gracia está en usar como diccionario ficheros de sintaxis, por lo que si se utilizase el syntax/php.vim como diccionario, se podría utilizar para autocompletar el API estándar de PHP, por ejemplo. Yo recomiendo utilizar el fichero de tags junto con el diccionario de sintaxis. Como se puede ver, es muy flexible.

Si se desea, se puede utilizar el tabulador para autocompletar usando El tick 102. que lo permite hacer de forma inteligente, pudiendo seguir utilizando el tabulador para tabular, valga la redundancia.

Lo de poder utilizar los ficheros sintácticos como diccionarios y poder utilizarlos para autocompletar los nombres de las funciones es una gozada :-).

Para utilizar múltiples ficheros simultáneamente recomiendo utilizar unos pequeños cambios en el .vimrc: map <a-right> :bn^M
map <a-left> :bp^M
map <c-c> :bd^M
Queda así bastante más intuitivo.



Interesante (3.00 / 1) (#5)
por r00z a las Fri Jan 3rd, 2003 at 01:42:21 AM CET
(Información Usuario) http://r00z.ath.cx/

Cómo tienes puesto esto de añadir el fichero de sintaxis en el autocompletado? Lo hace automáticamente al seleccionar una sintaxis para el buffer o lo haces (semi-)manualmente?

Otra cosa, no sé hasta qué punto es bueno esto de modificarse las combinaciones de teclas para tener un editor más "intuitivo". Prefiero aprenderme combinaciones raras a tener que ir por el mundo con un .vimrc en el bolsillo.

[ Padre ]


Re: Interesante (3.00 / 1) (#6)
por dmolina a las Fri Jan 3rd, 2003 at 02:02:13 AM CET
(Información Usuario)

Bueno, reconozco que que lo suyo sería de forma automática :-).
Sin embargo, todavía no lo he hecho automático, cuando lo sepa configurar lo haré y lo pondré en el vim.org :).

Sobre la configuración de teclas... yo veo más cómodo personalizar tu entorno hasta que estés a gusto con él (si te vas a tirar muchas horas con un sistema, mejor hacerlo lo más a gusto posible). Además, las combinaciones raras pueden ser infinitas :-).
Ya he "pasado" por varios editores y valoro mucho poder utilizar las teclas que yo quiero
(es de lo que más me gusta de vi, lo fácilmente que se puede personalizar, especialmente las combinaciones de teclas, que es "casi" intuitivo).


[ Padre ]


 
firmeza y austeridad (3.50 / 2) (#3)
por pbenavent a las Thu Jan 2nd, 2003 at 10:22:47 PM CET
(Información Usuario) http://www.benavent.org

Tengo un amigo que utiliza el modo improved del VI. Le digo que eso es un editor afeminado y que los hombres lo utilizan sin colorines, ni volver a la linea donde habían abierto el fichero ...

Güasa a parte vengo del UNIX comercial, tengo que decir que VI -sin improved ni leches- es, tal vez, lo más común que nos encontraremos. A mi juicio es esa su gran virtud que en su austeridad, resdide su fuerza, donde vayas está y funciona siempre igual.

En el aprendizaje de VI, un descubrimiento fueron las macros, las hay para HTML, XML, SGML ... y las que te hagas tú mismo ...

...para los novatos, la FAQ de VI en LuCas imprescindible... sin olvidar la de mi amigo NoP del nodo ECOL en Valencia 8-)

Para los que no nos gusta reconocer que somos novatos, también, todos los dias se aprende alguna combinación nueva de teclas.

--
"El hombre es la medida de todas las cosas"
Protágoras


 
pregunta de novato (3.00 / 2) (#4)
por fg (fg EN hispabsd PUNTO org) a las Thu Jan 2nd, 2003 at 10:38:30 PM CET
(Información Usuario) http://fg.unixbsd.org

Mi problema es el siguiente: cuando me conecto a través de telnet o ssh y hago scroll con los cursores, aparecen arbitrariamente letras como la B en mitad del texto.

Alguien sabe como puedo arreglar esto?

Gracias por adelantado
--
InforSist.net: portal para informáticos y desarrolladores.


$TERM (3.50 / 2) (#7)
por tomac a las Sat Jan 4th, 2003 at 11:48:09 AM CET
(Información Usuario) http://voodoo.somoslopeor.com

El problema que tienes cuando te pasa eso es la emulación de terminal que estás usando; comprueba la variable $TERM. Seguramente estarás usando una emulación de terminal que no soporta los cursores.
Never make any mistaek
[ Padre ]


 
Programando con Vim | 7 comentarios (6 temáticos, 1 editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda