https://github.com/Lexikos/AutoHotkey_L/

basic symbols

# :windows-key
^ :Ctrl
+ :Shift
! :Alt
* hotstring  
  必须使用Enter、Space、TAB、;等激活(#Hotstring EndChars).::xxx::...

demos

#If !WinActive("ahk_class Vim") && !WinActive("ahk_class MozillaWindowClass")
#if

// 或者使用如下方式:
GroupAdd, GroupName, ahk_class Vim
GroupAdd, GroupName, ahk_class MozillaWindowClass
#IfWinActive ahk_group GroupName
#IfWinActive

my scripts

;-----------------------------------o
; F12 or alt + t : set curwindow topmost
SetWindowTopMost()
{
    WinGetActiveTitle, varWinTitle
    WinSet, AlwaysOnTop, Toggle, %varWinTitle%
}
;!t::SetWindowTopMost()
!F12::SetWindowTopMost()


;-----------------------------------o
; similate vim
;-----------------------------------o
#IfWinNotActive ahk_class Vim

; alt + q : exit app
;!q::send !{F4}

; alt + d = delete
!d::Send, {Delete}

; navigation left
!h::Send, {Left}
!+h::Send, +{Left}

; navigation Right
!l::Send, {Right}
!+l::Send, +{Right}

; navigation Up
!k::Send, {Up}
!+k::Send, +{Up}

; navigation down
!j::Send, {Down}
!+j::Send, +{Down}

; alt + i = home
!,::Send, {Home}
!+,::Send, +{Home}

; alt + o = end
!.::Send, {End}
!+.::Send, +{End}

#IfWinNotActive