Konfigurowanie skrótów za pomocą AutoHotKey

  • AutoHotkey umożliwia tworzenie skrótów klawiszowych, ciągów skrótów i trybów umożliwiających tworzenie wielu kombinacji przy użyciu jednej ręki.
  • Dzięki {Blind} i SendMode Input można uzyskać stabilne i „spamowalne” sekwencje złożone.
  • Praktyczne automatyzacje: miesiące hiszpańskie, wymiana arkuszy, objętość i okna.
  • Uruchamianie systemu Windows i kompilacja do pliku .exe ułatwia przenoszenie skryptów na dowolny komputer.

Konfigurowanie skrótów za pomocą AutoHotKey

Jeśli uważasz, że skróty systemowe lub aplikacji nie działają, AutoHotkey (AHK) otwiera świat niestandardowych skrótów dla systemu Windows. W ciągu kilku minut będziesz mógł uruchamiać aplikacje, przekształcać tekst w locie, łączyć kombinacje i automatyzować powtarzające się zadania, tak jakbyś robił to od lat.

Oprócz typowych kombinacji klawiszy, za pomocą AHK możesz twórz tryby czasowe, inteligentne ciągi znaków i złożone sekwencje Aktywowane jednym kliknięciem. Zobaczysz przykłady z życia wzięte dotyczące zarządzania schowkiem, wstawiania znaków specjalnych, przełączania okien czy przekształcania dat; dowiesz się również, jak uruchamiać skrypty w systemie Windows i kompilować je do plików .exe, aby można było z nich korzystać na dowolnym komputerze.

Czym jest AutoHotkey i co można za jego pomocą zrobić?

AutoHotkey to lekki język skryptowy przeznaczony do Windows Konwertuje kombinacje klawiszy i ciągi tekstowe na akcje systemowe. W przeciwieństwie do tradycyjnego pliku .bat, oferuje bardzo elastyczną składnię, dostęp do okien i elementów sterujących oraz bardzo wydajny moduł wysyłania naciśnięć klawiszy (Send, SendInput itp.).

Pojedynczy plik .ahk może zawierać tak wiele skrótów klawiszowych i transformacji tekstu (tzw. „gorących ciągów”) Jak chcesz. Możesz mieć jeden skrypt główny do wszystkiego lub wiele skryptów dla każdego obszaru (biuro, rozwój, rozrywka). Po uruchomieniu AHK nasłuchuje w tle Twoich naciśnięć klawiszy i uruchamia wszystko, co zaprogramowałeś.

Najlepsze jest to, że nie musisz być programistąKopiowanie, wklejanie i adaptowanie przykładów działa cuda. ​​Jeśli uczysz się w innych językach, składnia zmiennych, warunków i timerów będzie Ci znajoma. A jeśli nie, przekonasz się, że jest ona bardzo naturalna.

Instalacja, pierwszy skrypt i podstawowe koncepcje

Pobierz i zainstaluj AHK z oficjalnej strony internetowej, a następnie w dowolnym folderze: tworzy plik z rozszerzeniem .ahkNa przykład hello_world.ahk. Kliknij prawym przyciskiem myszy, Edytuj skrypt i wklej coś prostego do przetestowania:

^+!u::  ; Ctrl + Shift + Alt + U
MsgBox, 0, ¡Hola mundo!, Soy yo de nuevo :)
return

W AHK modyfikatory są określane skrótem: ^ to Ctrl, + to Shift, ! to Alt i :: definiuje skrót. Po zapisaniu i dwukrotnym kliknięciu pliku .ahk skrypt staje się aktywny, a naciśnięcie Ctrl+Shift+Alt+U spowoduje wyświetlenie komunikatu.

Warto zapamiętać kilka kluczowych symboli składniowych: :: do deklarowania skrótów klawiszowych, := do przypisańi komentarze ze znakiem ; na końcu wiersza. W ten sposób możesz zanotować, co robi każdy skrót, bez wpływu na kod.

Skróty klawiszowe i ciągi znaków: skróty i przekształcanie tekstu

Konfiguruj skróty za pomocą AutoHotKey

„Skrót klawiszowy” to tradycyjny skrót. Na przykład, mapuj Ctrl+Q na Menedżera zadań wysyłanie natywnego skrótu Ctrl+Shift+Esc:

^q::  ; Ctrl + Q
Send ^+{Esc}
return

Możesz również wpisać tekst bezpośrednio w miejscu, w którym znajduje się kursor: od wiadomości e-mail do szybkich szablonówDwiema przydatnymi opcjami są zapisywanie i kopiowanie do schowka:

; Escribir el correo
^!m::  ; Ctrl + Alt + M
SendInput micorreo@prueba.com
return

; Guardarlo en el portapapeles
^!p::  ; Ctrl + Alt + P
Clipboard := "micorreo@prueba.com"
return

Gorące struny są magiczne dla autokorekta i rozszerzenie Tekst. Zastąp błędnie napisany tekst na bieżąco lub wstaw długie bloki ze słowami kluczowymi:

; Autocorrección
:*?:salido::saludo
:*?:Genebta::Genbeta

; Expansión de texto
:*?:mimensaje1::Estimado cliente, mi nombre es ...

Możesz nawet wstaw symbole specjalne bez szukania kodu Alt. Na przykład, ± wpisując ++– i myślnik za pomocą Alt + -:

; ± con ++--
:*?:++--::±

; Guion largo con Alt + -
!-::Send —

Tryb „nieskończonej” kombinacji jedną ręką: Ctrl+Q jako „supermodyfikator”

Bardzo skutecznym pomysłem na zwiększenie produktywności jest wykorzystanie Ctrl+Q jako tymczasowy wyzwalacz, który zamienia następny klawisz na działanieZamiast używać kombinacji takich jak Ctrl+Q, Ctrl+W itd., Ctrl+Q aktywuje „tryb” jednym ruchem: następnie wpisujesz literę i uruchamiasz odpowiadający jej skrypt.

Na przykład, Ctrl+Q, a następnie Q uruchamia Skrypt 1, a Ctrl+Q, a następnie W uruchamia Skrypt 2. Po naciśnięciu tego klawisza wracasz do normy; w ten sposób możesz mnożyć kombinacje jedną ręką, nie odrywając jej od klawiatury.

Martwisz się, że zabraknie Ci kluczy? Dodaje „podwójne dotknięcie” w celu powiększenia mapy: Ctrl+Q, Q, Q dla skryptu 3; Ctrl+Q, W, W dla skryptu 4. Jeśli zajdzie taka potrzeba, możesz pójść dalej za pomocą trzykrotnego stuknięcia.

Aby uzyskać wizualną informację zwrotną, bardzo przydatne jest naciśnięcie klawiszy Ctrl+Q w celu wywołania mały pomarańczowy interfejs graficzny w prawym górnym rogu, mały kwadracik, który znika po naciśnięciu następnego klawisza i potwierdza, że ​​tryb został aktywowany.

Un podstawowy schemat W AHK v1 (prostym i rozszerzalnym) mogłoby to wyglądać następująco:

#SingleInstance Force
#InstallKeybdHook
SetTitleMatchMode, 2

; Ctrl+Q entra en modo de combinaciones
^q::
    ; Pequeña GUI naranja arriba a la derecha
    Gui, +AlwaysOnTop -Caption +ToolWindow
    Gui, Color, FFA500
    Gui, Show, x%A_ScreenWidth%-40 y20 w20 h20, Modo

    ; Espera una tecla (1 carácter) y detecta ‘doble toque’ suave
    Input, Key, L1 T3 V  ; L1: 1 char, T3: 3s de timeout, V: visible en variable
    if (ErrorLevel = "Timeout") {
        Gui, Destroy
        return
    }

    ; Capturar posible doble toque
    first := Key
    KeyWait, %first%, D T0.3  ; si se pulsa la misma tecla muy rápido, cuenta como doble toque
    if (ErrorLevel) {
        ; Toque simple
        Gosub, HandleSingleTap
    } else {
        ; Doble toque
        Gosub, HandleDoubleTap
    }

    Gui, Destroy
return

HandleSingleTap:
    ; Mapea letras a scripts ‘simples’ tras Ctrl+Q
    if (first = "q") {
        ; Script 1
        Run, notepad.exe
    } else if (first = "w") {
        ; Script 2
        Run, calc.exe
    }
return

HandleDoubleTap:
    ; Mapea doble toque a otros scripts
    if (first = "q") {
        ; Script 3
        MsgBox, 64, Doble toque, Has pulsado Q dos veces
    } else if (first = "w") {
        ; Script 4
        MsgBox, 64, Doble toque, Has pulsado W dos veces
    }
return

Dzięki tej strukturze, Dodawanie kolejnych liter lub gestów jest tak proste, jak powiększanie bloków Jeśli…w przeciwnym razie. Jeśli chcesz segmentować według „obszarów”, możesz zarezerwować Ctrl+Q do pracy, Ctrl+W do otwierania aplikacji, a Ctrl+R do rozrywki (np. Roblox): Ctrl+R + P otwiera skrypt fortepianowy; podwójne P ładuje inny utwór itd.

Sekwencje złożone: mapuj Ctrl+G na Ctrl+T + Alt+G bez zwalniania Ctrl (możliwość spamowania)

Konfiguruj skróty za pomocą AutoHotKey

Inny praktyczny przypadek: potrzebujesz tego Ctrl+G wysyła sekwencję Ctrl+T, a następnie Alt+G, a jeśli przytrzymasz Ctrl, możesz powtórzyć skrót klawiszowy bez zmiany modyfikatora. Celem jest zapewnienie płynności i braku spamu.

Kluczem jest użycie Wyślij dane wejściowe z {Blind}, który zachowuje stan modyfikatorów, które już fizycznie posiadasz. Dobrym pomysłem jest również użycie prefiksu $, aby uniknąć ponownego użycia tego samego klawisza skrótu:

SendMode Input  ; más fiable y rápido
$^g::
    ; {Blind} conserva el estado de Ctrl que ya estás pulsando físicamente
    SendInput {Blind}^t!g
return

Ten wzór pozwala uniknąć konieczności ręcznego wpisywania {CtrlDown}/{CtrlUp} na końcu, szanuje rzeczywisty stan klawiatury i pozwala na powtarzanie kombinacji bez przerw, o ile przytrzymujesz klawisz Ctrl. Jeśli któryś z programów jest kapryśny, możesz dodać bardzo krótki czas uśpienia między wysyłaniem:

$^g::
    SendInput {Blind}^t
    Sleep 10
    SendInput {Blind}!g
return

Jeśli chcesz odizolować klawisz skrótu od innych, możesz zwiększyć jego priorytet za pomocą #UseHook na początku skryptu, uzyskanie stabilności podczas spamowania w aplikacjach mających własną warstwę skrótów.

Przydatne codzienne automatyzacje: daty, schowek i wyszukiwanie

Bardzo powszechną potrzebą jest wpisz nazwę bieżącego lub poprzedniego miesiąca po hiszpańsku, bez popełniania błędów i polegania na klawiaturze. Poniższe fragmenty rozwiązują ten problem w sposób przejrzysty:

; Mes actual (español)
^+!F4::  ; Ctrl + Shift + Alt + F4
    time := A_NowUTC
    FormatTime, mes, %time% L0x0C0A, MMMM  ; Español (España)
    SendInput, %mes%
return

; Mes anterior (cálculo desde día 1 y restar un día)
^+!F5::  ; Ctrl + Shift + Alt + F5
    date := (A_YYYY . A_MM . "01")
    date += -1, days
    FormatTime, mes_anterior, %date% L0x0C0A, MMMM
    SendInput, %mes_anterior%
return

Jeszcze bardziej ambitnie: na arkuszu (Excel lub Arkusze Google) skopiuj komórkę, zastąp poprzedni miesiąc bieżącym i wklej wynik bez opuszczania klawiatury:

^+!F6::  ; Ctrl + Shift + Alt + F6
    ; Mes actual y anterior en español (España)
    time := A_NowUTC
    FormatTime, mes_actual, %time% L0x0C0A, MMMM

    date := (A_YYYY . A_MM . "01")
    date += -1, days
    FormatTime, mes_anterior, %date% L0x0C0A, MMMM

    ; Copiar desde la celda activa
    Send, ^c
    ClipWait, 0.5
    texto := Clipboard

    ; Reemplazo directo
    texto := StrReplace(texto, mes_anterior, mes_actual)
    Clipboard := texto

    ; Pegar de vuelta
    Send, ^v
return

Kolejny klasyk: Otwórz swoją ulubioną witrynę internetową lub wyszukaj to, co masz w schowku w Google, bez dotykania myszki. Dwa bardzo krótkie przepisy:

; Abrir una web concreta
^+g::Run "https://www.genbeta.com"
return

; Buscar en Google el texto del portapapeles (o del cursor)
^+c::
{
    Send, ^c
    Sleep 50
    Run, https://www.google.com/search?q=%clipboard%
    Return
}

Kontrola systemu w locie: głośność, kosz i okna

Konfiguruj skróty za pomocą AutoHotKey

Jeżeli Twoja klawiatura nie posiada klawiszy multimedialnych, możesz przypisz głośność do wartości liczbowych i wycisz za pomocą przycisku Pause, nie tracąc przy tym głowy z powodu menu i ikon:

+NumpadAdd:: Send {Volume_Up}
+NumpadSub:: Send {Volume_Down}
break::Send {Volume_Mute}
return

Opróżnianie Kosza szybkim gestem i bez konieczności potwierdzania jest również mile widziane. Windows + Del do natychmiastowego czyszczenia:

#Del::FileRecycleEmpty
return

Jeśli pracujesz z wieloma oknami, umieszczenie jednego z nich na pierwszym planie może zapobiec niepotrzebnym kliknięciom. Ctrl + Spacja, aby wymusić „Zawsze na wierzchu” na aktywnym:

^SPACE:: Winset, Alwaysontop, , A
return

Uruchom system Windows i skompiluj do pliku .exe

Aby Twój scenariusz był zawsze gotowy, dodaj to do swojego loginuNaciśnij Win+R i uruchom shell:startup. Spowoduje to otwarcie folderu startowego. Wklej tam skrót do pliku .ahk, a system Windows automatycznie uruchomi go podczas uruchamiania.

Czy zamierzasz używać go na komputerach, na których nie zainstalowano AHK? Skompiluj skrypt do pliku .exe, klikając prawym przyciskiem myszy > Kompiluj skrypt i dystrybuuje ten samowystarczalny plik wykonywalny. Zużycie energii jest zazwyczaj minimalne, więc można mieć zawsze załadowanych wiele automatyzacji bez obciążania systemu.

Dobre praktyki, dzięki którym wszystko będzie działać sprawnie i szybko

Podczas pracy z naciśnięciami klawiszy należy używać Wejście SendMode zapewniające większą niezawodność i szybkości. Jeśli w aplikacji brakuje rytmu, wprowadź krótkie przerwy (5–20 ms) między kluczowymi krokami lub przełącz się na SendEvent w tym bloku.

Aby uniknąć kolizji między klawiszami skrótu, należy rozważyć #UseHook i #IfWinActive (zakresy na okno). Na przykład niektóre kombinacje działają w Excelu, a inne w przeglądarce. A dzięki $ zapobiegasz przypadkowemu uruchomieniu się skrótu klawiszowego.

Jeśli zamierzasz tworzyć „tryby” takie jak Ctrl+Q, dodaj wizualne sprzężenie zwrotne z minimalnym interfejsem graficznym i rozsądny czas oczekiwania. Doświadczenie użytkownika jest znacznie lepsze, gdy wiesz, że tryb został aktywowany i wyraźnie widać, kiedy się kończy.

Na koniec udokumentuj. Komentarz; obok każdego skrótu klawiszowego lub na początku każdej sekcji Dzięki temu nie zapomnisz o rzadko używanych skrótach i sprawia, że ​​skrypt można utrzymywać przez kolejne miesiące.

Stosując te techniki, zyskujesz doskonały system umożliwiający zwiększenie liczby operacji wykonywanych jedną ręką, zamianę ciągów znaków na użyteczny tekst i łączenie działań w łańcuchy bez dotykania myszy. Od rozszerzeń tekstu i natychmiastowych wyszukiwań po „nieskończone” tryby klawiszy i sekwencje spamoweDzięki AutoHotkey możesz dostosować system Windows dokładnie do swojego sposobu pracy, nie komplikując sobie życia.