Escribiendo snippets en Vim. Y fichero fortran.vim

“A good programmer is a lazy programmer.”
Las snippets de código son una funcionalidad que ahora una cantidad enorme de tiempo evitando que tengamos que escribir partes repetitivas de código una y otra vez, como puede ser el esqueleto definición de una clase o la declaración de un vector c++… Hoy voy a dejar unas snippets para Fortran ya que vim no las implementa y ya que me he puesto a escribirlas os doy algunas pistas sobre cómo se hacen. Una muestra de lo que hace una snippet con sólo pulsar 4 teclas:
fortran.vim
Nota, lo que aquí os cuento ya no sólo en Fortran sino en cualquier otro lenguaje. Podemos extender estas cómodas snippets a cualquier lenguaje -ya las hice en su momento para CUDA- y ahorrar muchas pulsaciones innecesarias.
Vim soporta por defecto la sintaxis de Fortran, por lo que no es necesario añadir diccionarios de palabras clave para el resaltado, por lo que directamente iremos a las snippets.
La programación de las snippets se realiza con en una sintaxis muy sencilla, sólo hay que recordar tres sencillas reglas;
    ${1: code_here}
El símbolo $ le dice al “compilador” que lo que viene después es una variable introducida por el usuario. Bien sea para que la tome o para que la copie como veremos después.
El número, en este caso 1, tiene dos propósitos. El primero es servir como identificador de la variable y el segundo es asignar el orden en que Vim nos reclamará que introduzcamos las variables.
Si queremos que Vim tome una nueva variable tendremos que situar dos puntos : tras el símbolo $ seguido del identificador, esto es, $1:, $2:, $3: …
Cuando queramos que Vim nos copie una variable en otro lugar simplemente tendremos que referenciarla mediante su identificador numérico, $1.
Por último la sentencia “code_here” nos dará una pista sobre el tipo de variable que debemos colocar, sobre si debemos escribir código, comentarios, etc. Es totalmente personalizable y su función no es otra que ayudar al programador.
Un ejemplo sencillo en Fortran;
# simple do loop
    snippet do
       do ${1:!counter!},${2:!end!}
          ${3:!loop_code!}
       end do
Una vez abramos un archivo en Vim con la extensión .f* (.f90, .f77, …) se activarán las plantillas que hemos descrito y podremos usarlas. El resultado de escribir “do” y pulsar tab será el siguiente:
    do !counter!,!end!
       !loop_code!
    end do
Cuando pulsemos tab pasaremos a sustituir el primer bloque de texto, luego al segundo, etc…
Os dejo el enlace a github con el fichero fortran.vim que podéis usar y modificar sin problemas, he creado el proyecto para ir añadiendo funciones cuando tenga más tiempo, espero que os sirva;
Enlace al fichero fortran.vim en Github.
Esta entrada fue publicada en Fortran, Vim. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s