Подешавање пречица помоћу AutoHotKey-а

  • AutoHotkey вам омогућава да креирате пречице, пречице и режиме за множење комбинација једном руком.
  • Са {Blind} и SendMode Input, постижу се стабилне и „нежељене“ композитне секвенце.
  • Практична аутоматизација: шпански месеци, замена листова, јачина звука и прозори.
  • Покретање система Windows и компајлирање у .exe олакшава пренос ваших скрипти на било који рачунар.

Подешавање пречица помоћу AutoHotKey-а

Ако сматрате да системске или апликацијске пречице не функционишу довољно добро, АутоХотки (АХК) отвара свет прилагођених пречица за Windows. За само неколико минута моћи ћете да покрећете апликације, трансформишете текст у ходу, комбинујете комбинације и аутоматизујете понављајуће задатке као да то радите годинама.

Поред типичних комбинација тастатуре, са AHK-ом можете креирајте временске режиме, паметне вруће низове и сложене секвенце који се активирају једним кликом. Видећете примере из стварног живота за управљање међуспремником, уметање специјалних знакова, пребацивање прозора или трансформацију датума; такође ћете научити како да покренете своје скрипте помоћу Windows-а и да их компајлирате у .exe датотеке за употребу на било ком рачунару.

Шта је AutoHotkey и шта можете да урадите са њим?

AutoHotkey је ​​лаган скриптни језик за виндовс који конвертује комбинације тастера и текстуалне низове у системске акције. За разлику од традиционалне .bat датотеке, нуди веома флексибилну синтаксу, приступ прозорима и контролама и веома моћан механизам за слање притисака тастера (Send, SendInput, итд.).

Једна .ahk датотека може да садржи толико пречица („hot keys“) и трансформација текста („hotstrings“) како год желите. Можете имати један главни скрипт за све или више скрипти за сваку област (канцеларија, развој, слободно време). Када га покренете, AHK слуша ваше притиске тастера у позадини и покреће све што сте програмирали.

Најбоље је то Не мораш бити програмерКопирање, лепљење и прилагођавање примера чини чуда. Ако долазите из других језика, синтакса за променљиве, услове и тајмере ће вам бити позната. А ако не, видећете да делује веома природно.

Инсталација, први скрипт и основни концепти

Преузмите и инсталирајте AHK са званичне веб странице; затим, у било којој фасцикли, креира датотеку са екстензијом .ahk, на пример hello_world.ahk. Кликните десним тастером миша, изаберите „Уреди скрипту“ и налепите нешто једноставно за тестирање:

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

У AHK модификатори се скраћују: ^ је Ctrl, + је Shift, ! је Alt и :: дефинише пречицу. Када сачувате и двапут кликнете на .ahk датотеку, скрипта постаје активна, а када притиснете Ctrl+Shift+Alt+U, видећете искачућу поруку.

Вреди запамтити неке кључне симболе синтаксе: :: за декларисање пречица, := за доделе, и коментаре са ; на крају реда. На овај начин можете да забележите шта свака пречица ради без утицаја на код.

Пречице и пречице: пречице и трансформација текста

Конфигуришите пречице помоћу AutoHotKey-а

„Пречица“ је традиционална пречица. На пример, мапирајте Ctrl+Q на Менаџер задатака слање изворне пречице Ctrl+Shift+Esc:

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

Такође можете директно да куцате текст тамо где се налази курсор: од ваше е-поште до брзих шаблонаДве корисне варијанте су писање и копирање у међуспремник:

; 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

Вруће жице су магичне за аутоматско исправљање и проширење Текст. Замените погрешно написан текст у ходу или уметните дугачке блокове кључним речима:

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

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

Можете чак убаците посебне симболе без тражења Alt кода. На пример, ± куцањем ++– и дуге цртице помоћу Alt + -:

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

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

Једноручни „бесконачни“ комбиновани режим: Ctrl+Q као „супер модификатор“

Веома моћна идеја за продуктивност је коришћење Ctrl+Q као привремени окидач који претвара следећи тастер у акцијуУместо коришћења комбинација попут Ctrl+Q, Ctrl+W итд., Ctrl+Q активира „режим“ једним потезом: затим откуцате слово и покренете одговарајући скрипт.

На пример, Ctrl+Q па затим Q покреће Скрипту 1, а Ctrl+Q праћено W покреће Скрипту 2. Након тог притиска тастера, враћате се у нормалу; на овај начин можете множити комбинације једном руком без померања руке са тастатуре.

Бринете се да ћете остати без кључева? Додаје „двоструки додир“ за зумирање мапеCtrl+Q, Q, Q за скрипту 3; Ctrl+Q, W, W за скрипту 4. Можете чак ићи даље троструким додиром ако је потребно.

Да бисте дали визуелну повратну информацију, веома је корисно притиснути Ctrl+Q да бисте отворили мали наранџасти графички кориснички интерфејс у ​​горњем десном углу, мали квадрат који нестаје када притиснете следећи тастер и потврђује да је режим активиран.

Un основна шема У AHK v1 (једноставном и проширивом) то би могло бити:

#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

Са овом структуром, Додавање више слова или гестова је једноставно као увећање блокова ако…иначе. Ако желите да сегментирате по „областима“, можете резервисати Ctrl+Q за посао, Ctrl+W за отварање апликација и Ctrl+R за разоноду (нпр. Roblox): Ctrl+R + P отвара клавирски скрипт; двоструки P учитава другу песму итд.

Сложени низови: пресликавање Ctrl+G на Ctrl+T + Alt+G без отпуштања Ctrl (спамљива порука)

Конфигуришите пречице помоћу AutoHotKey-а

Још један практичан случај: потребно вам је то Ctrl+G шаље секвенцу Ctrl+T праћену Alt+G, а ако стално држите Ctrl, можете поновити пречицу без оштећења модификатора. Циљ је да буде флуидно и без спама.

Кључ је у коришћењу Пошаљи унос са {Blind}, што чува стање модификатора које већ физички држите. Такође је добра идеја користити префикс $ како бисте избегли поновни унос самог пречица:

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

Овај образац избегава ручно куцање {CtrlDown}/{CtrlUp} на крају, поштује стварно стање тастатуре и омогућава вам да понављате комбинацију без прекида све док држите тастер Ctrl. Ако је неки програм захтевнији, можете додати врло кратко спавање између слања:

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

Ако треба да изолујете пречицу од осталих, можете јој повећати приоритет помоћу #UseHook на почетку скрипте, постизање стабилности приликом спамовања у апликацијама са сопственим слојем пречица.

Корисне свакодневне аутоматизације: датуми, међуспремник и претрага

Веома честа потреба је унесите назив текућег или претходног месеца на шпанском, без грешака или ослањања на тастатуру. Ови фрагменти решавају овај проблем лепо:

; 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

Још амбициозније: на табели (Excel или Google табеле) копирајте ћелију, замените претходни месец тренутним и налепите резултат без напуштања тока тастатуре:

^+!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

Још један класик: Отворите своју омиљену веб страницу или потражите шта се налази у вашем међуспремнику на Гуглу, без додиривања миша. Два врло кратка рецепта:

; 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
}

Контрола система у ходу: јачина звука, смеће и прозори

Конфигуришите пречице помоћу AutoHotKey-а

Ако ваша тастатура нема мултимедијалне тастере, можете доделите јачину звука нумеричким и искључите звук помоћу тастера Пауза без вртоглавице од менија или икона:

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

Такође је пожељно пражњење смећа брзим гестом и без потврде. Windows + Del за тренутно чишћење:

#Del::FileRecycleEmpty
return

А ако радите са више прозора, држање једног у првом плану може спречити непотребне кликове. Ctrl + Space за принудно подешавање „Увек на врху“ на активном:

^SPACE:: Winset, Alwaysontop, , A
return

Покрените Windows и компајлирајте у .exe датотеку

Да би ваш сценарио увек био спреман, додајте га на своје пријавне податкеПритисните Win+R и покрените shell:startup. Ово ће отворити вашу фасциклу за покретање система. Налепите пречицу до ваше .ahk датотеке тамо и Windows ће је аутоматски покренути при покретању система.

Да ли ћете га користити на рачунарима на којима немате инсталиран AHK? Компајлирајте скрипту у .exe тако што ћете кликнути десним тастером миша > Компајлирај скрипту и дистрибуира тај самодовољан извршни фајл. Потрошња енергије је обично минимална, тако да можете имати вишеструке аутоматизације увек учитане без оштећења система.

Добре праксе да све буде чврсто и брзо

Када радите са притисцима тастера, користите SendMode Input за већу поузданост и брзину. Ако апликацији недостају тактови, уведите мале паузе спавања (5–20 ms) између критичних корака или пребаците на SendEvent у том блоку.

Да бисте избегли колизије између пречица, размотрите #UseHook и #IfWinActive (опсези по прозору). Тако, на пример, неке комбинације ступају на снагу у Екселу, а друге у вашем прегледачу. А помоћу знака $ спречавате да се пречица случајно активира.

Ако ћете креирати „режиме“ попут Ctrl+Q, додајте визуелне повратне информације са минималним графичким корисничким интерфејсом и разумно време чекања. Корисничко искуство је знатно побољшано када знате да је режим активиран и да је јасно када се завршава.

Коначно, документ. Коментар; поред сваког пречице или на почетку сваког одељка Штеди вас од заборављања ретко коришћених пречица и чини скрипту одрживим током месеци.

Са овим техникама, имате врхунски систем за умножавање приступа једном руком, претварање низова у користан текст и повезивање радњи без додиривања миша. Од проширења текста и тренутних претрага до „бесконачних“ режима тастера и спам секвенци, AutoHotkey вам омогућава да прилагодите Windows тачно начину на који радите, а да притом не компликујете свој живот.