ABC para Novatos 1: HOTKEYS Y HOTSTRINGS

Consejos y trucos de programación en AutoHotkey
Guill
Posts: 73
Joined: 09 Jun 2016, 22:00

ABC para Novatos 1: HOTKEYS Y HOTSTRINGS

26 Aug 2016, 13:29

Hola a todos
Aclaro primeramente que no soy programador, apenas conozco AUTOHOTKEY, pero lo que comparto lo hago porque este programa me ha servido de mucha utilidad.

AVISO: No creo que pueda responder preguntas, porque apenas conozco lo que comparto. Ojalá les sirva.

__________________________________________
LO PRIMERO QUE HAY QUE HACER PARA EMPEZAR A USAR AUTOHOTKEY


Una vez instalado AutoHotkey, tendremos que decirle qué hacer. Este proceso se llama "Scripting" en inglés y quiere decir: realizar un guión (script) que el programa ejecutará.

Instrucciones para crear un nuevo script:

1. Haga clic derecho en el escritorio, o en alguna carpeta que quiera alojar el script.
2. Buscar "Nuevo" en el menú.
3. Hacer clic en "AutoHotkey script" dentro del menú "Nuevo".
4. Ponerle un nombre. Nota: Se debe terminar con una extensión .ahk. Ejemplo: mi script.ahk
5. Hacer doble click en el nuevo archivo creado.
6. Haga clic en "Editar script".
7. Una ventana debería haber aparecido, probablemente, el Bloc de notas. Si es así,
Ya estamos en condiciones de dar las primeras indicaciones.


1. HOTKEYS Y HOTSTRINGS

1. AHK permite crear atajos de teclado (hotkey o shortcut) o cadenas de texto (hotstrings) de modo tal que luego de pulsarlas o escribirlas, active alguna función asignada.

→ Hotkey: una combinación de teclas que al pulsarla realiza algo (como Cntrl + V equivale a pegar lo que está en el portapapeles)

→ Hotstring: un texto determinado, que al escribirlo (tipearlo), escribe un texto mayor, un símbolo o ejecuta alguna función asignada.


HOTKEYS
Las teclas auxiliares del teclado tienen un caracter específico para que AHK lo interprete.

+ = shift
! = Alt
^ = Control
# = Win (tecla Windows)

Aclaración: estas teclas no funcionan en sí mismas (al menos no con este nombre, se verá luego, cómo se las puede usar como teclas comunes). Siempre acompañan a otra tecla principal

Veamos ejemplos:

!A:: ; funcionará cuando se pulse Alt + A
#+F3:: ; funcionará cuando se pulse Windows + Shift + F3 (la tecla de función F3)

NOTA: véase que los comentarios están después de un punto y coma (;). Esto mismo se puede usar en el script para hacer aclaraciones. El programa interpreta hasta el punto y coma, lo demás no lo considera y salta a la nueva línea.





HOTSTRINGS
Su uso más elemental, es el de sustituir un texto tipeado por otro que el usuario quiera para que se active al escribir.

Su estructura es la siguiente:

::s.c::Saludos cordiales

Al escribir "s.c" y colocar un espacio luego, el programa escribirá "Saludos cordiales". Pero lo interesante es que puede poner todo el texto que queramos. Para usar cambios de párrafo tendremos que escribir {Enter} del siguiente modo:

::3v3::Estimado cliente {Enter} recibimos su pedido. {Enter} En breve nos estamos comunicando con usted. {Enter} Saludos cordiales.

Al tipear 3v3, se activará ese texto

Estimado cliente
recibimos su pedido.
En breve nos estamos comunicando con usted.
Saludos cordiales.

Si el texto es muy largo, conviene escribirlo entre paréntesis, de este modo

::3v3::
(
Estimado cliente
recibimos su pedido.
En breve nos estamos comunicando con usted.
Saludos cordiales.
)
Return


Pero eso será (en ambos casos) si luego de 3v3 colocamos una coma, un punto o un espacio. Para que se active sin esto, debemos incluir un asterisco de este modo

:*:3v3::Estimado cliente.... (etcétera)

Otros condicionantes útiles:

? = funciona sin tener que ser una palabra sola. Es decir, que si dentro de una palabra, uno incluyera 3v3, se activaría. Esto puede parecer poco útil, pero luego se verá su uso más práctico.

C = Distingue mayúsculas de minúsculas. Quiere decir que si el texto tiene diferenciación en esto, no va a funcionar si no se lo tipea exactamente. Si no está esta C, funciona indistintamente.

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

:*::saº::Salamanca ; se ejecutará inmediatamente después de pulsar el º
:?::saº::Salamanca ; si uno escribiera "empresaº" también funcionará porque termina con "saº"

:C::Saº:: ; funcionará sólo si se escribe literalmente. Con saº no va a funcionar.

Pueden combinarse: (sólo funcionará cuando esté con mayúscula, además de
:C*?::Saº::Salamanca




Se puede utilizar para símbolos, y letras de idiomas extranjeros

:*?:r6r::® ; símbolo de marca registrada
:*?:b4b::ß (Eszett alemana)

:*?:c3c::ç ; (c con cedilla, propia del francés)
:*?:c3mc::Ç (misma letra, pero con mayúscula)


- IMPORTANTE: si la "m", en el último ejemplo, que nos puede servir para indicar mayúscula, va antes, o después de "c3c", no generará efecto distinto, ya que a ese grupo de letras ya le asignamos la letra minúscula. Es necesario hacer una combinación distinta, aunque podamos basarnos en otra.
Por eso, se escribió así en el ejemplo
"c3mc"


Mismas funciones pero con HOTKEYS
+#r::® ; símbolo de marca registrada
#c::ç (c con cedilla, propia del francés)
#+c::Ç (lo mismo pero con mayúscula)

#b::ß (Eszett alemana)



USO MUY ÚTIL DE LOS HOTSTRINGS

No sólo sirven para lo anteriormente descripto. Su otro gran valor es que pueden cumplir la mayoría de las funciones que hace un HOTKEY, sólo que en lugar de pulsar simultáneamente dos o más teclas, se activa alguna función luego de tipear determinada combinación.
Sólo hay que tener en cuenta que para esto, deben ser escritas como se ejemplifica.
Su utilidad, es que uno no necesita memorizar miles de combinaciones de teclas, sólo tenemos que organizar nuestras necesidades en base a palabras (o fragmentos de ellas), que al tipearlas (quizás combinadas con algún número o signo, para que podamos tipear la palabra cuando la necesitamos como tal), generen una o más acciones o tareas.
Para los ejemplos, anticiparemos el uso de Run, que luego explicaremos.

; ABRIR EL ARCHIVO DE MI LISTA DE TAREAS

:*?:t3areas::
Run C:\Users\MyDocuments\tareas.txt
Return

; ABRIR GOOGLE

:*?:g3oogle::
Run http://www.google.com
Return


Para seguir un criterio, en los ejemplos se coloca un número 3 luego de la primera letra, por lo cual, esto se activará sólo en ese caso, y no cuando simplemente se tipee "tareas" o "google" (por lo tanto, no habrá otro efecto que el simple tipeo de esas palabras). Entonces, sólo necesitamos acordarnos de las palabras, y tener presente que siempre incluya un 3 luego de la primera letra.
Más abajo, van otros ejemplos.


USO DE "RUN"
Veamos algunos ejemplos con Run, que es el comando más fácil y útil prioritariamente
"Run" sirve, por ahora, para
abrir programas,
ejecutar archivos,
abrir carpetas,
abrir páginas web.

:::: simple, una función por combinación de teclas ::::

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

!A::Run notepad ; pulsando alt + A, se abre el Block de Notas
#^E:: Run http://www.google.com.ar; pulsando Win + Ctrl + E, se abre el Block de Notas

+8:: Run C:\Users\Usuario..\Videos ; abre la CARPETA de videos al pulsar shift + 8. Asegurarse de que esté bien hecha la ruta.

+^t:: Run C:\Users\MyDocuments\direcciones.txt ; abrirá el archivo que se le pida. En este caso uno de texto llamado "direcciones". Observar que tiene que estar con su extensión (.txt)


:::: dos o más ejecuciones por combinación ::::::

Se puede ejecutar varias cosas, con una única combinación de teclas. Así como también se puede hacer varias combinaciones para la misma orden. Lo importante en este caso, es disponerlo de este modo:

Ej1:

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

#+H::
Run notepad
Run C:\Users\MyDocuments\direcciones.txt
Run C:\Users\Usuario..\Videos
Return


Realizará las tres tareas sólo con pulsar win + shift + H (importantístimo terminar con "Return": este comando frena las órdenes de ese shortcut / hotstring. De lo contrario, seguirá con las del siguiente, en caso de que haya más de un hotkey, hasta que encuentre un "return")

Ej.2

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

#+H::
+^t::
#^E::
Run notepad
Return


Las 3 combinaciones, realizarán una única tarea: abrir el block de notas.

(Véase que en hotkeys, es indistinto el uso de mayúscula o minúscula)

HOTSTRINGS
Como anticipamos, los hotstrings pueden realizar tareas, además de sustituciones de letras, símbolos o textos. Prácticamente, funciona exactamente igual a un hotkey (en usos avanzados, hay restricciones específicas de cada uno).
Sólo debe ponerse de este modo, es decir, colocar la orden a ejecutar DEBAJO y NO a continuación. (a continuación, sólo sirve para las sustituciones simples y únicas)

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

::dle2::
Run notepad
Run C:\....\musica.mp3
Run http://www.wikipedia.com
Return



También en combinación con hotkeys y con los modificadores vistos anteriormente

Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

:*?:dle2::
#+H::
+^t::
#^E::
Run notepad
Run C:\....\musica.mp3
Run http://www.wikipedia.com
Return



NO OLVIDAR
1. Siempre terminar con "Return" cuando hay más de una orden
2. El punto y coma (;) funciona de modo similar, pero por línea: luego de él, el programa no interpreta nada más que se escriba a la derecha de él. Sirve precisamente para hacer anotaciones o recordatorios.
3. La distinción de Mayúsculas y minúsculas, son útiles sólo para Hotstrings. A los hotkeys les da lo mismo.

FINALMENTE,
HOTKEYS: SI SE ACABARAN LAS POSIBLES COMBINACIONES
Aunque sería muy difícil que utilicemos todas las combinaciones posibles, Autohotkey prevé la posibilidad de utilizar cualquier tecla como auxiliar (como funcionaría Shift, Alt, etc).
El formato es


Code: [Select all] [Download] (Untitled.ahk)GeSHi © Codebox Plus

; TECLA AUXILIAR  & TECLA SECUNDARIA::

; EJEMPLO:
s & y::Run calc

s:: Send {s} ;




Pero, es importante haber escrito esto en el mismo script:
s:: Send {s}

Porque de lo contrario, la letra "s" estará inutilizada, y sólo funcionará para combinaciones, pero no se la podrá usar para escribir. De esta manera, se está diciendo que si se la presiona sola, que envíe su función original.
Para el uso de teclas auxiliares, conviene más utilizar las teclas menos frecuentadas, como Appskey, RControl, Break, etc.



:::::: FIN :::::::::
Last edited by Guill on 12 Nov 2016, 17:58, edited 12 times in total.
User avatar
Pinkfloydd
Posts: 103
Joined: 13 Apr 2014, 18:32
Location: Argentina

Re: ABC para Novatos 1: HOTKEYS Y HOTSTRINGS

26 Aug 2016, 14:13

Esto sin duda le sirve a mucha gente que quiere empezar.
Excelente

Return to “Tutoriales”

Who is online

Users browsing this forum: No registered users and 1 guest