Ostatnio ogólnie przedstawiłem AHK, opisując możliwości i podając podstawowe przykłady.
Poniżej trochę więcej o hotstringach - rozwinięciu/zastąpieniu wpisywanego tekstu, np. wpisanie @@
zostanie zamienione na Jan.Kowalski@mojadomena12.pl
Podstawy
Trochę przypomnienia:
::]gm::Good morning! ;; Good morning!
po wpisaniu ]gm
i wciśnięciu klawisza kończącego[1] otrzymamy: Good morning!
::]h:: ;;hi - with empty line after
(
hi,
)
po wpisaniu ]gm
i wciśnięciu klawisza kończącego otrzymamy: hi, i wolną linię.
hi,
::]p:: ;;regards Jk
(
Regards
Jan Kowaski
)
po wpisaniu ]p
i wciśnięciu klawisza kończącego otrzymamy: wolną linię, pozdrowienia, wcięcie i podpis.
Regards
Jan Kowaski
:*:@@::Jan.Kowalski@mojadomena12.pl ;; mail - :*: expand imediately
Wpisanie @@
podstawi adres e-mail - bez wciskania klawisza kończącego, czyli natychmiast po wciśnięciu drugi raz małpy - to na skutek gwiazdki po pierwszym dwukropku.
Jeszcze kilka przykładów
::atp::a tak przy okazji
::oidp::o ile dobrze pamiętam
::mz::moim zdaniem
::btw::by the way
::imho::in my humble opinion
::asap::as soon as possible
Można sobie też pomóc w sprawach bardziej technicznych, np. wstawić komentarz rozdzielający podsumowanie w pelicanie
::]ps::<!-- PELICAN_BEGIN_SUMMARY -->
Możemy wstawić 72 kreski po wpisaniu jedynie trzech
::---:: ;;72 dashes
(
------------------------------------------------------------------------
)
Co możemy też zapisać krócej:
::---:: ;;72 dashes
Send, {- 72}
return
Data i czas
Poniżej podstawowe hotstringi dla podstawiania daty i czasu.
::]te:: ;; 18-07-2015 17:24
FormatTime, CurrentDateTime,, dd.MM.yyyy r. HH:mm
SendInput %CurrentDateTime%
return
::]ter:: ;; 2015-07-18 17:24
FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm
SendInput %CurrentDateTime%
return
::]dz:: ;; 18-07-2015
FormatTime, CurrentDateTime,, dd.MM.yyyy r.
SendInput %CurrentDateTime%
return
::]dzr:: ;; 2015-07-18
FormatTime, CurrentDateTime,, yyyy-MM-dd
SendInput %CurrentDateTime%
return
::]h:: ;; HH:mm
FormatTime, CurrentDateTime,, HH:mm
SendInput %CurrentDateTime%
return
Jeżeli powyższe przykłady nie wystarczą, czas i datę, formatować możemy zgodnie z dokumentacją
I jak wspominałem AHK ma przypadłość robienia tych samych rzeczy na kilka sposobów.
Datę/czas możemy wstawić też za pomocą wbudowanych zmiennych (tutaj razem z formatowaniem nagłówka, co wykorzystuję do wpisów dziennika)
::]ww:: ;;journal entry
{
SendRaw, `n`n`b### %A_Hour%:%A_Min%`n`t
}
Return
Wysyłanie wciśnięć klawiszy
Hotstringi mogą nie tylko wypisywać tekst, ale przeprowadzać i inne operacje np. symulować wciśnięcie innych klawiszy:
::]r::[COLOR="{#}FF0000"][/COLOR]{Left 8}
::]q::
Send [QUOTE]^v[/QUOTE]
W pierwszym przykładzie - wpisanie ]r
wstawi nam tagi bbCode i cofnie kursor w miejsce pomiędzy nie.
W drugim przykładzie otrzymamy tagi bbCode cytowania - z zawartością schowka pomiędzy nimi (wstawionej za pomocą CTRL
+v
)
Modyfikatory klawiszy opisywałem wcześniej.
Schowek
Do zawartości schowka możemy odwoływać się, jak w przykładzie wyżej, poprzez wywołanie skrótu wklejania CTRL
+v
, albo poprzez zmienną Clipboard
::]q::
Send [QUOTE]^v[/QUOTE]
::]pj:: ;; wklej nagłówek z godziną i datą a potem zawartoś schowka
{
SendRaw, `n`n`b### %A_Hour%:%A_Min%`n`t%Clipboard%
}
Return
Repozytorium z przykładami - github
Jak już zaznaczyłem wyżej, wszystkie przykłady z artykułów, wraz z komentarzami będą uaktualniane w repozytorium na GitHubie.
-
SPACJA
TAB
ENTER
-
(
)
[
]
{
}
'
:
;
"
/
\
,
.
?
!
- konfiguracja opisana w dokumentacji.