Publi

Abbrev mode para EMACS (utiliza abreviaturas)

perritoCuando estamos programando, normalmente hay palabras o bloques de texto que tenemos que repetir varias veces. Por ejemplo:

  • Cuando creo una función, tengo un bloque grande de comentarios para Doxygen. Crear esos comentarios, cuando lo haces 20 ó 30 veces ya resulta pesado.
  • Cuando creo una clase, pasa exactamente lo mismo que antes.
  • Suelo escribir los nombres y los mails de las personas que intervienen en el proyecto, uso atajos: “Gaspar@” devolverá mi nombre y mi mail.
  • Mientras documentamos el código hay muchas palabras/frases que repetiremos y algunas muy largas.
  • A medida que vayamos escribiendo código nos vamos dando cuenta de las cosas que repetimos y queremos hacerlo con menos pulsaciones de teclado (lo que nos ahorrará mucho tiempo).

Aunque este modo tiene unos atajos de teclado algo complicados (aunque con cierta lógica), tenemos que tener en cuenta que tenemos dos formas de añadir una abreviatura: global, y asociada al modo actual (más o menos es el lenguaje en el que estamos escribiendo). Por tanto si queremos añadir una abreviatura a un texto que tenemos escrito:

  1. Lo seleccionamos.
  2. Si queremos que sea una abreviatura global pulsamos (C-x a g) o M-x add-global-abbrev
  3. Si queremos que sea una abreviatura local asociada al modo actual pulsamos (C-x a l) o M-x add-mode-abbrev

De todas formas yo prefiero escribirlas directamente de la siguiente manera:

  • M-x edit-abbrevs
  • Debajo del modo que escoja escribo:
    “palabracorta” 0 “expansión que deseo que salga después de la palabra corta”
  • C-x C-s (Lo de siempre para salvar)

El cero que he puesto entre la palabra corta y la expansión es el número de veces que la he utilizado. Si después de un día de trabajo acudimos a las abreviaturas con M-x list-abbrevs veremos cómo ese número va variando, es el número de veces que hemos utilizado cada abreviatura, esto nos permite saber cuáles son las más usadas, y podremos borrar si queremos las que no hayamos utilizado.

Por otra parte, tenemos el autocompletado de las palabras, y esto es que, pulsando una combinación de teclas (normalmente M-/, un poco incómodo sobre todo en portátiles), la palabra que tenemos escrita parcialmente se completará con alguna coincidencia de palabras escritas en el buffer actual.

Si queremos mapear ese autocompletado con otra combinación de teclas (Yo tengo C-_) podemos escribir lo siguiente en nuestro archivo .emacs:

(global-set-key (kbd “C-_”) ‘dabbrev-expand)

Foto: exfordy (Flickr)

También podría interesarte...

Only 1 comment left Ir a comentario

  1. Pingback: Bitacoras.com /

Leave a Reply