En este artículo veremos la herramienta de AutoHotkey desde un punto de vista más avanzado. Es el tercer artículo de la serie de AutoHotKey.
Hasta ahora, habíamos visto que se podía emplear AutoHotkey para expandir abreviaturas en textos más largos o complicados. Si quieres, puedes repasarlo en este artículo de introducción a AutoHotkey.
Por ejemplo, si necesitas escribir muchas veces «otorrinolaringología», puede ser buena idea añadir estas líneas a tu archivo de macros de AutoHotkey:
::otor::otorrinolaringología ::otoro::otorrinolaringólogo ::otora::otorrinolaringóloga
Otra aplicación de AutoHotkey, ya comentada en este vídeo de YouTube: tengo un problema con Inés y con Víctor, nada personal, sino que a menudo escribo mal su nombre porque soy bastante patoso con el teclado.
Así que te puedo asegurar que mi archivo de macros de AutoHotkey tiene estas dos líneas:
::Inñes::Inés ::Vïctor::Víctor
y ya no tengo más problemas con Víctor y con Inés.
🙂
Bien… Estos ejemplos son útiles, y son las aplicaciones más sencillas de AutoHotkey.
Índice
En este artículo vamos a ir avanzando en la complejidad, ¡pero no te asustes!
Son trucos dirigidos más a traductores y escritores, pero si no es tu caso, todavía puedes aprovechar el artículo para aprender más sobre AutoHotkey.
¿Empezamos?
Los puntos suspensivos… o tres puntos seguidos...
;puntos suspensivos :*?:...::…
La primera línea de código es un comentario, ya que toda línea que comienza por punto y coma «;» es un comentario (sirve para explicar en lenguaje natural lo que hacen las líneas siguientes de código).
La segunda línea sustituye tres puntos seguidos por el carácter de puntos suspensivos (un único carácter).
¿Crees que te puede venir bien para publicar en Twitter?
Recuerda que los parámetros que ves al principio «*?» (un asterisco y el signo de interrogación de cierre) sirven para que en cuanto teclees tres puntos, incluso si se teclean detrás de alguna letra, se sustituyan inmediatamente por el carácter de puntos suspensivos.
Por ejemplo, el siguiente código ligeramente modificado sin los parámetros:
;puntos suspensivos ::...::…
solo se dispararía después de escribir tres puntos y un espacio (u otro carácter de separación, como el punto, coma, punto y coma, dos puntos, tabulador, retorno, paréntesis, signo de interrogación o de admiración, no sé si se me queda alguno…).
Ves la diferencia, ¿verdad?
Sin pasarse de la raya con AutoHotkey
Seguramente, en algún momento has tenido alguna dificultad para teclear una raya «—», también llamada guión largo o guión mayor. Microsoft Word te lo pone fácil con el atajo CTRL+ALT+- (signo menos del teclado numérico), pero ¿cómo se escribe una raya en cualquier aplicación?
Con estas líneas puedes escribir una raya fácilmente (escribiendo 4 erres seguidas):
;Inserta una raya :*?:rrrr::—
¿Quieres escribir dos rayas seguidas? Muy fácil:
;Inserta 2 rayas :*?:rrr2::——
Escribe tres erres seguidas por el número «2».
¿Quieres escribir dos rayas seguidas y que el cursor se quede entre las rayas?
También es muy fácil, escribe tres erres seguidas por el número «2», lo vamos complicando un poquito:
;Inserta 2 rayas y coloca el cursor en medio :*?:rrr3:: ;Inserta 2 rayas Send —— ;Mueve el cursor 1 posición a la izquierda, entre las 2 rayas Send {Left} return
Lo único complicado es la penúltima línea. La explicamos, porque la veremos a menudo:
Send es una función de AutoHotkey que hace que su parámetro, lo que viene detrás, se envíe como si lo hubieras tecleado tú.
Por ejemplo:
:*?:h:: Send Hola Return
hará que cada vez que escribas la letra «h» se expanda a «Hola».
Si como en nuestro caso, tenemos Send {Left}, lo que se expande es {Left}, pero no literalmente, sino con el significado especial que tiene {Left}, que es mover el cursor un espacio a la izquierda.
La última línea Return hace que AutoHotkey se detenga ahí y no continúe ejecutando más código.
De este modo, la secuencia del anterior código será:
- escribir una raya;
- escribir una segunda raya detrás;
- mover el cursor un espacio a la izquierda.
Se entiende ahora, ¿verdad?
Menos es más
Todos lo hacemos… y no nos damos cuenta: el signo menos que usamos (-) es más corto que el signo más (+).
Si tecleas el signo menos y debajo el signo más, ambos desde el teclado numérico del teclado, podrás comprobar que el signo menos es más corto, ¿verdad?
El motivo es que lo que ves no es en rigor un signo menos, sino un guión de toda la vida. El signo menos auténtico es igual de ancho que el signo más.
Te lo pongo fácil, poniendo uno debajo del otro:
- - es un guión
- − es un signo menos
- + es el signo más
- — es la raya que vimos antes
Como ves, el signo menos tiene un ancho intermedio entre el guión y la raya.
Alguien me dirá que hay que tener buena vista para distinguirlos, lo admito, pero lo cierto es que se nota bastante, y soy bastante cegato.
Planteado el problema, damos la solución.
Si quieres escribir un signo menos «de verdad», sobre todo cuando hay un signo más cerca y se ve bastante la diferencia, aquí tienes el código necesario:
;Signo menos: es distinto del guión ;Escribir 4 emes seguidas para sustituirlas por el signo menos :*?:mmmm::{U+2212}
Voilà !
Al escribir cuatro emes seguidas, se dispara la macro y se sustituyen por un solo carácter con el código Unicode 2212, que es el que queremos.
Nota: puedes modificar el anterior código para que sustituya el falso signo menos del teclado numérico por el auténtico, pero no te lo recomiendo; si lo haces, aplicaciones como Excel o la Calculadora dejarán de funcionarte cuando hagas operaciones con restas.
Más o menos con AutoHotkey
Si quieres insertar un símbolo especial, como «±» (creo que los puristas dicen que se lee «más o menos») para dar una tolerancia, por ejemplo, 10 km ± 1 m, lo harías así:
;más/menos :*?:++--::±
Igual que te digo este símbolo, puedes aprovechar AutoHotkey para escribir fácilmente lo que usas a menudo, pero no está fácilmente accesible desde el teclado.
La ventaja es que puedes tener en AutoHotkey todos tus atajos e ir modificando tus archivos de macros según vayas necesitando más.
Un teclado sin cedilla
¿Te has preguntado alguna vez para qué *#@*# tiene tu teclado la tecla con la cedilla?
¡Yo también!
Seguramente tienes la tecla «a» desgastada, pero la tecla de la cedilla está nueva, como el primer día, porque nunca la has usado.
Si no traduces a algún idioma que use la cedilla, como el catalán, el portugués o el francés, te propongo descartar la cedilla, y darle una utilidad.
Como ejemplo práctico de lo que puedes hacer, te daré el uso que le doy yo, que fallo muchas veces cuando quiero escribir alguna vocal con tilde, como la «á», y en su lugar me sale un horrible «ça».
Debo parecer un comerciante de feria si digo que ¡con AutoHotkey se acabaron los problemas!, pero es que es verdad…
Si no me crees, mira este sencillo código:
;Acentuar la vocal que sigue a una cedilla :c*?:ça::á :c*?:çe::é :c*?:çi::í :c*?:ço::ó :c*?:çu::ú :c*?:ÇA::Á :c*?:ÇE::É :c*?:ÇI::Í :c*?:ÇO::Ó :c*?:ÇU::Ú
El parámetro «c» indica a AutoHotkey que la abreviatura se tiene que escribir exactamente, diferenciando mayúsculas de minúsculas.
También se han incluido los parámetros asterisco «*» y el signo de interrogación de cierre «*?», ya los habíamos visto antes, para que se dispare la macro sin necesidad de añadir un punto (u otro carácter de «terminación») e incluso aunque se escriba la abreviatura en medio de una palabra.
Conclusiones de AutoHotkey
Con AutoHotkey puedes crear las macros que te interesa utilizar para que tu escritura sea más rápida y precisa.
Resulta muy útil tanto para patosos del teclado como para maníacos de la velocidad y la exactitud. Me va bien doblemente…
¿No me digas que no es una chulada?
Enlaces
- Enlace para descargarte el ejecutable de AutoHotkey: http://www.ahkscript.org/
- Tutoriales para aprender a escribir atajos de AutoHotkey: http://ahkscript.org/docs/AutoHotkey.htm
- La raya en el Diccionario panhispánico de dudas (DPD)
Si no quieres perderte la siguiente entrega sobre AutoHotkey, con macros aún más avanzadas, apúntate a mi boletín o sígueme en Twitter (@jssprt), y te avisaré en cuanto salga.