Created
April 18, 2020 13:00
-
-
Save myfonj/13d1cb68afdac73869255dec073fcd4b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; UTF-8 | |
; BOM required in Autohotkey newer than v1.1.07.03 | |
; | |
; --- http://www.autohotkey.com/ | |
; +++ http://ahkscript.org/ | |
; | |
; ;-,-,'-; ;= | |
; | |
; + shift | |
; ^ ctrl | |
; # win | |
; ! Alt | |
; | |
; + | |
; ^ # ! | |
; | |
;;;;;;;;;; | |
; #NoTrayIcon | |
; reload THIS SCRIPT | |
; ctrl + alt + shift + r | |
^+!r::reload | |
; suspend this script | |
^+#s::Suspend | |
; quick edit this script | |
; ctrl + win + shift + alt + r | |
;^+#!r::msgbox,%A_usr_editor% %A_ScriptFullPath% | |
^+#!r::run,C:\apps\VSCode\Code.exe %A_ScriptFullPath% | |
; ^+#!r::edit | |
; ctrl + pageup / pagedown | |
; remap to ctrl + (shift) + tab | |
; because: several apps dont get this right | |
; #ifWinNotActive ahk_exe Code.exe | |
; #ifWinNotActive ahk_exe gimp-2.8.exe | |
; ; because: in gimp ctrl+pg switches tabs; ctrl+tab switches layers | |
;^PgDn::^tab | |
;^PgUp::^+tab | |
; #ifWinNotActive | |
; Firefox "close tab to the left" | |
; relies on about:config browser.tabs.selectOwnerOnClose=false | |
; (that ensures ^w will always select → RIGHT | |
#IfWinActive, ahk_class MozillaWindowClass | |
; close to left | |
; this will effectively override the dreaded ctrl+shift+w close window | |
^+q:: | |
^+w:: | |
sendInput,^+{pgUp} ; = swap current tab with left neighbour | |
sleep,5 | |
sendInput,^w ; = close current tab | |
return | |
; close to right (default) | |
;^w:: | |
;sendInput,^w ; = close current tab | |
return | |
#IfWinActive | |
; https://github.com/freeCodeCamp/devdocs/issues/843#issuecomment-428159454 | |
; this sets matchMode for whole script, cannot be reset (?) | |
SetTitleMatchMode 2 | |
#ifwinactive DevDocs | |
!d::send ^l | |
#ifwinactive | |
SetTitleMatchMode 1 | |
; | |
; home | end | pgup | pgdown | |
; leftWin + arrows | |
; simulating convenient approach of good laptops | |
; | |
; <#up::pgup | |
; <#up::send,{pgup} | |
; <#down::pgdn | |
; <#down::send,{pgdn} | |
; <#right::end | |
; <#right::send,{end} | |
; <#left::home | |
; <#left::send,{home} | |
; http://stackoverflow.com/questions/16652292/remapping-win-left-to-home-fails-with-autohotkey | |
; | |
; context menu | |
; rightCTRL + rightAlt | |
; (yes, my laptops keyboard sucks because it lacks menu key) | |
; | |
rctrl & ralt::SendInput,{blind}{appsKey down} | |
rctrl & ralt up::SendInput,{blind}{appsKey up} | |
; test key combos | |
;ralt & rctrl::msgbox,asd | |
;rctrl & ralt::msgbox,SDA | |
; | |
; smart indent with leading delimiter | |
; alt + win + tab | |
; indent to first non-whitespace character of line above and repeat separator | |
; ---- | |
; gazonk : 1 | |
; foo| | |
; -->> | |
; gazonk : 1 | |
; foo : | | |
; | |
!#tab:: | |
gosub,backup_clipboard | |
sendInput,{up}+{end} | |
sleep,5 | |
sendInput,^c | |
clipWait,2 | |
sleep,5 | |
sendInput,{left}{down} | |
AutoTrim,OFF | |
RegExMatch( clipboard, "^(\S*)(\s+(\W+\s*)?)(?Cwhitepacize_delim)", "+") | |
whitepacize_delim(m){ | |
newstr := RegExReplace(m1,"."," ",,-1) . m2 | |
sleep,5 | |
clipboard =%newstr% | |
sleep,5 | |
sendInput,^v | |
} | |
AutoTrim,ON | |
gosub,restore_clipboard | |
return | |
; | |
; smart indent to first non-whitespace character of line above | |
; ctrl + win + tab | |
; ---- | |
; gazonk : 1 | |
; foo| | |
; -->> | |
; gazonk : 1 | |
; foo | | |
; | |
^#tab:: | |
gosub,backup_clipboard | |
sendInput,{up}+{end} | |
sleep,5 | |
sendInput,^c | |
clipWait,2 | |
sleep,5 | |
sendInput,{left}{down} | |
AutoTrim,OFF | |
RegExMatch( clipboard, "^(\S*)(\s+)(?Cwhitepacize)", "+") | |
whitepacize(m){ | |
newstr := RegExReplace(m1,"."," ",,-1) . m2 | |
sleep,5 | |
clipboard =%newstr% | |
sleep,5 | |
sendInput,^v | |
} | |
AutoTrim,ON | |
gosub,restore_clipboard | |
return | |
; | |
; § HORIZONTAL SCROLL | |
; leftShift + wheel | |
; @see | |
; http://www.autohotkey.com/docs/Hotkeys.htm#Wheel | |
; http://www.autohotkey.com/community/viewtopic.php?f=13&t=85383&start=15#p537597 | |
; http://msdn.microsoft.com/en-us/library/windows/desktop/bb787575(v=vs.85).aspx | |
; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT | |
; Scroll left one page | |
; leftShift + wheelUp | |
<+WheelUp:: | |
ControlGetFocus, fcontrol, A | |
SendMessage, 0x114, 2, 0, %fcontrol%, A | |
return | |
; Scroll right one page | |
; leftShift + wheelDown | |
<+WheelDown:: | |
ControlGetFocus, fcontrol, A | |
SendMessage, 0x114, 3, 0, %fcontrol%, A | |
return | |
; Scroll to left end | |
; leftShift + control + wheelUp | |
<+^WheelUp:: | |
ControlGetFocus, fcontrol, A | |
SendMessage, 0x114, 6, 0, %fcontrol%, A | |
return | |
; Scroll to right end | |
; leftShift + control + wheelDown | |
<+^WheelDown:: | |
ControlGetFocus, fcontrol, A | |
SendMessage, 0x114, 7, 0, %fcontrol%, A | |
return | |
; | |
; win7 Launchy hotfix | |
; configure Lanuchy to be triggered with ScrollLock | |
; win + space = scrollLock | |
; | |
#space::SendInput,{ScrollLock down}{ScrollLock up} | |
!space::SendInput,{ScrollLock down}{ScrollLock up} | |
; return | |
; | |
; § SPECIAL CHARACTERS | |
; | |
; | |
; ¶ | |
; win + shift + r | |
; ¶ | |
; ¶ | |
; PILCROW SIGN | |
; paragraph sign | |
; section sign in some European areas | |
; | |
#+r::¶ | |
; | |
; ❡ | |
; ❡ | |
; CURVED STEM PARAGRAPH SIGN ORNAMENT | |
^#!r::❡ | |
; | |
; swap characters berofore and after cursor | |
; win + s | |
; - a|b -> b|a | |
; | |
#s:: | |
critical ; another try to 'fix' some apps clipboard handling exception, lets see | |
pseudoKeyDelay := 16 | |
clipBackup := ; | |
if( strLen(ClipboardAll) ) | |
{ | |
clipBackup := ClipboardAll | |
clipboard = ; clear clipboard | |
sleep,pseudoKeyDelay | |
} | |
sendInput,{shift down} | |
sleep,pseudoKeyDelay | |
sendInput,{left down} | |
sleep,pseudoKeyDelay | |
sendInput,{left up} | |
sleep,pseudoKeyDelay | |
sendInput,{shift up} | |
sleep,pseudoKeyDelay | |
sendInput,{ctrl down} | |
sleep,pseudoKeyDelay | |
sendInput,{x down} | |
clipWait,1 ; wait 1 SEC | |
if ErrorLevel | |
{ | |
MsgBox, The attempt to copy text onto the clipboard failed. | |
if( strLen(clipBackup) ) | |
{ | |
clipboard := clipBackup | |
clipBackup = ; | |
} | |
sleep,pseudoKeyDelay | |
sendInput,{x up} | |
sendInput,{right} | |
return | |
} | |
sendInput,{x up} | |
sleep,pseudoKeyDelay | |
sendInput,{ctrl up} | |
sleep,pseudoKeyDelay | |
sendInput,{right} | |
sleep,pseudoKeyDelay | |
sendInput,{ctrl down} | |
sleep,pseudoKeyDelay | |
sendInput,{v down} | |
sleep,pseudoKeyDelay | |
sendInput,{v up} | |
sleep,pseudoKeyDelay | |
sendInput,{ctrl up} | |
sleep,pseudoKeyDelay | |
sendInput,{left down} | |
sleep,pseudoKeyDelay | |
sendInput,{left up} | |
sleep,pseudoKeyDelay | |
if( strLen(clipBackup) ) | |
{ | |
clipboard := clipBackup | |
clipBackup = ; | |
} | |
sleep,pseudoKeyDelay | |
return | |
; | |
; § cosole / command line / shell utils | |
; | |
; ifWinNotExist ahk_pid %console_window_pid% | |
; { run, C:\Windows\SysWOW64\cmd.exe /D /U /K "cd %UserProfile%\Desktop", , ,console_window_pid | |
; WinWait ahk_pid %console_window_pid% | |
; winSetTitle CMD | |
; } else | |
; { ifWinNotActive | |
; { winShow | |
; winActivate | |
; } else | |
; { winMinimize | |
; winHide | |
; } | |
; } | |
; CMDER start / focus / hide | |
; | |
#+;:: | |
detectHiddenWindows ON | |
ifWinNotExist ahk_class VirtualConsoleClass | |
{ run, C:\apps\cmder\cmder.exe | |
} else | |
{ ifWinNotActive | |
{ winShow | |
winActivate | |
} else | |
{ winMinimize | |
} | |
} | |
detectHiddenWindows OFF | |
return | |
; | |
; ¶ start new console | |
; win shift ; | |
; | |
; #+;:: | |
; run, cmd /D /U /K "cd C:\" | |
; return | |
; | |
; ¶ start admin console | |
; ctrl win shift ; | |
; | |
; #+^;:: | |
; run, C:\apps\cmd\cmd-admin.lnk | |
; return | |
; | |
; ¶ cosole: ctrl + v = paste | |
; be careful pasting linebreaks! | |
; not needed @ w10 | |
; | |
; #IfWinActive ahk_class ConsoleWindowClass | |
; ^v::SendInput,{Raw}%clipboard% | |
; #IfWinActive | |
; | |
; subroutines | |
; | |
clear_clipboard: | |
; sleep,1 | |
if( strLen(ClipboardAll) ) | |
{ | |
clipboard = ; | |
; clipWait,1 | |
sleep,16 | |
} | |
return | |
backup_clipboard: | |
clipBackup := ClipboardAll | |
gosub,clear_clipboard | |
return | |
restore_clipboard: | |
; sleep,2 | |
if( strLen(clipBackup) ) | |
{ | |
gosub,clear_clipboard | |
clipboard := clipBackup | |
clipBackup = ; | |
} | |
sleep,16 | |
return | |
; | |
; paste plaintext | |
; win contol v | |
; | |
; #^v:: | |
; clipboard = %clipboard% | |
; send ^v | |
; return | |
; | |
; paste after cursor | |
; paste without cursor change | |
; win ctrl v | |
; | |
; #^v:: | |
; StringLen, l, clipboard | |
; SendInput,^v{left %l%} | |
; return | |
; | |
; paste from beginning and go down (without ENTER) | |
; ctrl win alt v | |
; | |
; ^#!v::SendInput,{home 2}^v{home 2}{down} | |
; | |
; paste current date | |
; win alt d | |
; | |
!#d:: | |
gosub,backup_clipboard | |
FormatTime, clipboard,, yyyy-MM-dd dddd | |
clipWait,2 | |
if( errorLevel ) | |
{ | |
gosub,restore_clipboard | |
return | |
} | |
Send,^v | |
Sleep,100 | |
gosub,restore_clipboard | |
return | |
; | |
; paste current time | |
; win alt f | |
; | |
!#f:: | |
gosub,backup_clipboard | |
FormatTime, clipboard,, HH:mm:ss | |
clipWait,2 | |
if( errorLevel ) | |
{ | |
gosub,restore_clipboard | |
return | |
} | |
Send,^v | |
Sleep,100 | |
gosub,restore_clipboard | |
return | |
; | |
; paste current timestamp | |
; win alt shift d | |
; | |
!#+d::Send,%A_NOW% | |
; | |
; replace "/" with "\" in clipboard and paste it | |
; win + g | |
; | |
#g:: | |
StringReplace, clipboard, clipboard, /, \, All | |
SendInput,^v | |
return | |
; | |
; global volume control | |
; win alt shift (ctrl) up/down /left | |
; note: simple !#+up::Volume_Up will not work if there is #up::pgup in effect | |
; | |
#WheelUp:: | |
!#+up::SoundSet +1 | |
#Wheeldown:: | |
!#+down::SoundSet -1 | |
#+WheelUp:: | |
!#+^up::SoundSet +10 | |
#+Wheeldown:: | |
!#+^down::SoundSet -10 | |
#mbutton:: | |
!#m:: | |
; SoundSet 0 | |
Send,{Volume_Mute} | |
return | |
; flashmute uses: | |
; ctrl alt m | |
; by default | |
; | |
; | |
; toggle titlebar (and border) on active window | |
; win alt t | |
; | |
#!t::WinSet, Style, ^0xC00000, A | |
; toggle always on top | |
; ctrl win alt t | |
^#!t::WinSet, AlwaysOnTop, TOGGLE, A | |
; | |
; `|` -> `="|" ` | |
; ="" | |
; ctrl = | |
; | |
^=:: | |
sleep,100 | |
SendInput,`=` | |
sleep,100 | |
SendInput,`" | |
sleep,100 | |
SendInput,`" | |
sleep,100 | |
SendInput,{left} | |
return | |
; ctrl shift = | |
^+=::SendInput,`=`'`'{left} | |
; := | |
; ^+.::SendInput,`:`= | |
; ‰ | |
; alt shift = | |
!+=::sendInput,‰ | |
; | -> "|" | |
; ctrl + shift + ů | |
; +^ů::sendInput,`"`"{left}"" | |
; | -> '|' | |
; ctrl + shift + (to vedle enteru čim se dělá apostrof) | |
;vkDCsc02B | |
;^+vkDC::sendInput,`'`'{left} | |
; ’ 'RIGHT SINGLE QUOTATION MARK' (U+2019) je "typograficky preferovaný anglický APOSTROF" ale je to špatně. | |
;vkDCsc02B | |
;+!vkDC::’ | |
; double | |
;vkBAsc027 | |
;+!vkBA::” | |
; ‘ 'LEFT SINGLE QUOTATION MARK' (U+2018) | |
;vkDCsc02B | |
;+^vkDC::‘ | |
; double | |
;vkBAsc027 | |
;+^vkBA::“ | |
; https://tedclancy.wordpress.com/2015/06/03/which-unicode-character-should-represent-the-english-apostrophe-and-why-the-unicode-committee-is-very-wrong/ | |
; APOSTROF SKUTEČNÝ ANGLICKÝ | |
; MODIFIER LETTER APOSTROPHE | |
;vkDCsc02B | |
;#vkDC::ʼ | |
; | |
; ctrl+tab = ctrl+pg tam kde to nefunguje nativně | |
; | |
; cmder | |
#IfWinActive ahk_class VirtualConsoleClass | |
^pgUp:: | |
sendInput,^+{tab} | |
return | |
^pgDn:: | |
sendInput,^{tab} | |
return | |
#IfWinActive | |
; freeCommander | |
#IfWinActive ahk_exe FreeCommander.exe | |
^pgUp:: | |
sendInput,^+{tab} | |
return | |
^pgDn:: | |
sendInput,^{tab} | |
return | |
#IfWinActive | |
#IfWinNotActive ahk_exe Code.exe | |
; | |
; close tag | |
; very simple auto closing tag | |
; alt shift . | |
; `<AAA bflm>xyz|` -> '<AAA bflm>xyz|</AAA>' | |
!+.:: | |
AutoTrim, Off | |
gosub,backup_clipboard | |
send, +{home} | |
sleep,5 | |
send, ^c | |
ClipWait,1 | |
sleep,5 | |
if errorLevel | |
{ return | |
} | |
regExMatch(clipboard, "<([^ /<>]+)(?: [^<>]*[^/<>])?>[^<>]*$", match) | |
if !match | |
{ | |
send {right} | |
return | |
} | |
closeTag = </%match1%> | |
lgt := strLen(closeTag) | |
clipboard = %clipboard%%closetag% | |
clipWait,1 | |
sleep,5 | |
send, ^v | |
sleep,5 | |
send, {left %lgt%} | |
gosub,restore_clipboard | |
AutoTrim, On | |
return | |
#IfWinNotActive | |
; | |
; - <tag[properties]>|</tag> messageboxed | |
; win alt ů | |
; | |
!#ů:: | |
InputBox, tagName, Enter tag name, <_></_>, , , | |
if ( tagName ) { | |
AutoTrim, Off | |
props = | |
loop { | |
InputBox, attr, %tagName% - enter attribute name or finish, <%tagName%%props% _></%tagName%> || <%tagName%%props%>|</%tagName%>, , , | |
if ( attr ) { | |
InputBox, val, Enter %tagName% %attr% value, <%tagName%%props% %attr%="_"></%tagName%> || <%tagName%%props% %attr%>|</%tagName%> , , , | |
if ( val ) { | |
props = %props%%A_Space%%attr%="%val%" | |
} else { | |
props = %props%%A_Space%%attr% | |
} | |
} else { | |
break | |
} | |
} | |
gosub, backup_clipboard | |
output = <%tagName%%props%></%tagName%> | |
clipboard = %output% ; better than sendInput ? | |
clipWait,2 | |
if( errorLevel ) | |
{ | |
return | |
} | |
sleep,5 | |
SendInput,^v | |
sleep,5 | |
len := StrLen(tagName) + 3 | |
Loop, %len% { | |
SendInput,{left} | |
} | |
AutoTrim, On | |
gosub, restore_clipboard | |
} | |
return | |
; | |
; numpad on keyboard | |
; tested on | |
; Czech keyboard layout | |
; - MSI wind netbook | |
; - Chicony KB-2971 | |
; | |
/* | |
;vk67sc047 | |
#ý::send {vk67} ; Num 7 | |
;vk68sc048 | |
#á::send {vk68} ; Num 8 | |
;vk69sc049 | |
#í::send {vk69} ; Num 9 | |
;vk6Asc037 | |
#é::send {vk6A} ; Num * | |
;vk64sc04B | |
#u::send {vk64} ; Num 4 | |
;vk65sc04C | |
#i::send {vk65} ; Num 5 | |
;vk66sc04D | |
#o::send {vk66} ; Num 6 | |
;vk6Dsc04A | |
#p::send {vk6D} ; Num - | |
;vk61sc04F | |
#j::send {vk61} ; Num 1 | |
;vk62sc050 | |
#k::send {vk62} ; Num 2 | |
;vk63sc051 | |
#l::send {vk63} ; Num 3 | |
;vk6Bsc04E | |
#ů::send {vk6B} ; Num + | |
;vk60sc052 | |
#m::send {vk60} ; Num 0 | |
;vkBEsc053 | |
#.::send {vkBE} ; . | |
;vk6Fsc135 | |
#-::send {vk6F} ; Num / | |
*/ | |
; | |
; | |
; § common easing | |
; | |
; | |
; ~ tilde | |
; (na CZ qwertz je to jinak i [altgr][+] takže vlastně vůbec není potřeba) | |
; ctrl shift ; | |
;^+;::sendInput,{U+007E} | |
; | |
; ` (backtick, a.k.a. grave accent, quasiquote, backquote) | |
; ctrl ; | |
; | |
; ^+;::sendInput,{shift down}{U+0060}{shift up} | |
; #ifWinNotActive ahk_exe Code.exe | |
^;::sendInput,{U+0060} | |
; #ifWinNotActive | |
; ^+;::sendInput,{U+0060} | |
; | |
; ¦ (broken vertical bar) | |
; ctrl alt shift w | |
; | |
^!+w::sendRaw,¦ | |
/* | |
¦ ) | |
: ) | |
| ) | |
X ) | |
×( | |
; ) | |
*/ | |
;;;; ýážížý | |
; | |
; TAB character ( 0009 ) | |
; pasted from clipboard | |
; win tab | |
; | |
CapsLock & TAB:: | |
critical | |
gosub,backup_clipboard | |
clipboard := A_TAB | |
clipWait,2 | |
if( errorLevel ) | |
{ | |
TrayTip | |
, tab ; Title | |
, nevyšlo to ; Text | |
, 2 ; Seconds | |
gosub,restore_clipboard | |
return | |
} | |
Send,^v | |
Sleep,100 | |
gosub,restore_clipboard | |
return | |
; | |
; untab | |
; actually, just backspace | |
; win shift tab | |
; | |
; #+tab::backspace | |
; | |
; auto indented enter | |
; win enter | |
; | |
; #enter:: | |
; critical | |
; gosub backup_clipboard | |
; sendInput,+{home 2} | |
; sendInput,^c | |
; clipWait,2 | |
; if errorLevel | |
; { | |
; msgbox,»nic« | |
; sendInput,{end 2} | |
; gosub restore_clipboard | |
; return | |
; } | |
; regExMatch(clipboard, "^\s+", match) | |
; if( !match ) | |
; { | |
; msgbox,»nulíček« | |
; sendInput,{end 2}{enter} | |
; gosub restore_clipboard | |
; return | |
; } | |
; clipboard := match | |
; clipWait,2 | |
; if errorLevel | |
; { | |
; msgbox,»no ale tak sakra už« | |
; sendInput,{end 2} | |
; gosub restore_clipboard | |
; return | |
; } | |
; sleep,8 | |
; sendInput,{end 2} | |
; sleep,8 | |
; sendInput,{enter} | |
; sleep,8 | |
; sendInput,+{home} | |
; sleep,8 | |
; sendInput,^v | |
; sleep,8 | |
; gosub restore_clipboard | |
; return | |
; | |
; indent / outdent | |
; | |
; !+right::SendInput,{space}{left} | |
; !+left::SendInput,{del} | |
; ^!+right::SendInput,{space}{left}{down} | |
; ^!+left::SendInput,{up}{del} | |
; | |
; swap lines | |
; | |
; swap up | |
#^+up:: | |
SendInput,{home 2}+{down} | |
sleep,5 | |
gosub,backup_clipboard | |
SendInput,^x | |
clipWait,2 | |
if errorLevel | |
{ | |
gosub,restore_clipboard | |
return | |
} | |
SendInput,{up} | |
sleep,5 | |
SendInput,^v | |
sleep,5 | |
SendInput,{up} | |
gosub,restore_clipboard | |
return | |
; swap down | |
#^+down:: | |
SendInput,{home 2}+{down} | |
sleep,5 | |
gosub,backup_clipboard | |
SendInput,^x | |
clipWait,2 | |
if errorLevel | |
{ | |
gosub,restore_clipboard | |
return | |
} | |
SendInput,{down} | |
sleep,5 | |
SendInput,^v | |
sleep,5 | |
SendInput,{up} | |
gosub,restore_clipboard | |
return | |
; duplicate line | |
!^+d:: | |
sendInput,{up}{end}{right}+{down} | |
SendInput,^x | |
clipWait,2 | |
if errorLevel | |
{ | |
gosub,restore_clipboard | |
return | |
} | |
sleep,5 | |
SendInput,^v | |
SendInput,^v | |
sleep,5 | |
SendInput,{up} | |
gosub,restore_clipboard | |
return | |
; shift + capslock = shift | |
; | |
+capslock:: | |
sendInput {shift} | |
return | |
; #pgup::SendInput,{alt down}{tab}{alt up} | |
; #pgdn::SendInput,{alt down}{shift down}{tab}{shift up}{alt up} | |
;;;;;;; | |
; | |
; § HOTSTRINGS | |
; | |
;;;;;;; | |
:*:|> ::▷ | |
:*:|>> ::▶ | |
:*:tadaaa::🎉🥳🍾🚀🎇🌟⭐✨🤩 | |
:*:meee::involves:myfonj | |
:*:`:scrr:::screenshot --fullpage --clipboard | |
::The Do ::The Dø | |
; ¶ JS/JNP/TFS/HTML snippets | |
:*:if ::if () {{}{}}{left}{enter}{up} | |
:*:for ::for (){left} | |
:*:while ::while (){left} | |
:*:jsss::javascript: | |
:*:clll::console.log(){left} | |
:*:isodateee::yyyy-MM-dd'T'HH:mm:ss.SX | |
:*:data`::::data:text/html;charset=utf-8,<{!}doctype html><title>test</title><style></style><body onload="">{left 43}{shift down}{right 4}{shift up} | |
:*:svgg::::url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8' width='8' height='8'><circle r='4' /></svg>") | |
:*:cdataaa::<{!}[CDATA[]]>{left 3} | |
:*:xuaaa::<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> | |
:*:xmlnsx::xmlns:xlink="http://www.w3.org/1999/xlink" | |
:*:xmlnss::xmlns="http://www.w3.org/2000/svg" | |
:*:xmlnsh::xmlnh="http://www.w3.org/1999/xhtml" | |
:*:bhžž::bohužel | |
:*:myip :: | |
sendInput,%A_IPAddress1% | |
return | |
; | |
; JS - Javascript | |
; | |
:?*:dcge:: | |
sendInput,document.getElementById('') | |
sleep,700 | |
sendInput,{left 2} | |
return | |
:?*:fnnn::function{space} | |
; | |
; jQuery | |
; | -> $(|) | |
; | |
^#+!ů::SendInput,${(}{)}{left} | |
; | |
; jNP | |
; | |
:*:_ttt::_template | |
:*:_aaa::_asset | |
:*:_rrr::_request. | |
:*:_rppp::_request.params. | |
:*:tgttt::{{}value(target(_), link(_)){}} | |
:*:wfff::{{}whilefirst{}}{{}/whilefirst{}}{left 13} | |
:*:wlll::{{}whilelast{}}{{}/whilelast{}}{left 12} | |
:*:valll::valueinfo value= | |
:*:optionsss::{{}options forceAbsoluteAddresses=true{}}{{}/options{}}{left 10} | |
; acquire | |
:*:acqq::acquire(){left} | |
; acquire own prroperty | |
:*:acqp:: | |
InputBox,source,Acquire own property,Source | |
InputBox,prop,Acquire own property,Property name | |
sendInput,acquire(%source%, %prop%, "p", "", 0) | |
return | |
; acquire own child | |
:*:acqc:: | |
InputBox,source,Acquire own child,Source | |
InputBox,prop,Acquire own child,Property name | |
sendInput,acquire(%source%, %prop%, "c", "", 0) | |
return | |
; | |
; ¶ general / autocorrects | |
; | |
:*:jeslti::jestli | |
:*:naive ::naïve | |
:*?:sránk::stránk | |
:*?:píču::píšu | |
:*:čablo::šablo | |
:*:posranní::postranní | |
:*:prorotyp::prototyp | |
:*:dejavu::déjà vu | |
:*:ala ::à la | |
:*:onlick::onclick | |
:*::))) ::シツッ | |
:*:vwww::volkswagen | |
:*:tamplate::template | |
:*:tampalte::template | |
:*:tempalte::template | |
:*:temaplte::template | |
:*:dd ::Dobrý den, | |
:*:middott::· | |
:*:eon ::𝘦⋅𝘰𝘯 | |
; ☺ | |
:*:etnnn::etnetera | |
; | |
; ¶ typo @ UTF üñîçøðé | |
; | |
; pomlčky, uvozovky a jiná unicode havěť | |
; | |
; - spojovník je normálně ‚to na klávesnici‘ - Frýdek-Místek; | |
; 'hyphen or minus sign, used for either hyphen or minus sign' | |
; – = – aka „skutečná“ pomlčka Volnost – rovnost – bratrství; Praha–Split | |
; Sparta–Slavia | |
; leden–březen; 1. ledna – 31. prosince | |
:*:-- ::– | |
:*:-ndash-::– | |
; — = — | |
:*:--- ::— | |
:*:-mdash-::— | |
; − = − | |
:*:-minus-::− | |
; ¯ ¯ // v PSPadu nefunguje, posílá mdash — | |
:*:__ ::{U+00AF} | |
; nezalomitelná mezera | |
:?*:_ :: | |
; obě dvojité české : „“ | |
:?*:""""::„“{left} | |
; „ - v češtině levá spodní | |
:?*: "::„ | |
; “ - ano, v češtině je to ta „pravá“ pravá horní | |
:?*:" ::“ | |
; obě jednoduché české | |
:?*:''''::‚‘{left} | |
; ‚ - cs levá jednoduchá (levá dolní) | |
:?*: '::‚ | |
; ‘ - cs pravá jednoduchá (pravá horní), en levá | |
:?*:' ::‘ | |
:?*:maleee::♂ | |
:?*:femaleee::♀ | |
; … - výpustka, elipsa | |
:?*:... ::… | |
; ƒ | |
:?*:fnof ::ƒ | |
; © | |
:?*:(c) ::© | |
; ™ | |
:?*:(tm) ::™ | |
; 'LATIN SMALL LETTER AE' æ // v PSPadu nefunguje, posílá a | |
:?*:ae ::{U+00E6} | |
; ¬¬ | |
:?*:not ::¬ | |
; ¬ reversed ⌐ | |
:?*:notr ::⌐ | |
; lenochod | |
:?*:sloth ::⌐_¬ | |
; ≈ 'ALMOST EQUAL TO' ≈ \u2248 | |
:?*:~~ ::≈ | |
; ± 'PLUS-MINUS SIGN' (U+00B1) | |
:?*:+- ::± | |
; 'HOT BEVERAGE' \u2615 | |
:?*:kafe ::{U+2615} | |
; ❤ - heavy black heart | |
:?*:<3 ::❤ | |
; ♯ ♯♯ ♯ 'MUSIC SHARP SIGN' (U+266F) | |
:?*: # ::♯ | |
; ~'FULLWIDTH TILDE' (U+FF5E) | |
:?*: ~ ::~ | |
; &'FULLWIDTH AMPERSAND' (U+FF06) | |
:?*: & ::& | |
; ﹠SMALL AMPERSAND U+FE60 | |
:?*: && ::﹠ | |
; ( FULLWIDTH LEFT PARENTHESIS (U+FF08) | |
:?*: ( ::( | |
; ) FULLWIDTH RIGHT PARENTHESIS (U+FF09) | |
:?*: ) ::) | |
; *FULLWIDTH ASTERISK (U+FF0A) | |
:?*: * ::* | |
; ↔ 'LEFT RIGHT ARROW' (U+2194) ↔ | |
:?*:<<>>::↔ | |
:?*:>>>>::→ | |
:?*:<<<<::← | |
:?*:uparrr::↑ | |
:?*:downarrr::↓ | |
:?*:summm::∑ | |
; | |
:?*:infinn::∞ | |
:?*:=== ::≡ | |
:?*:!== ::≢ | |
; bunch od index fingers | |
:?*:fingggg::👉☛☞🖛🖙🖝🖜🖘🖚☜☚👈 | |
; ⩶ | |
; ╭--╮ | |
; │╎┆┊ | |
; ╰╮(-_-) | |
; ╰╯ | |
;╭╌ | |
; ╲ | |
; ╳ | |
; ╱ | |
; | |
:?*:bstarrr::★ | |
:?*:starrr::☆ | |
:?*:burgrrr::☰ | |
:?*:okkk::✓ | |
:?*:kooo::✗ | |
:?*:yesss::✔ | |
:?*:nopeee::✘ | |
:?*:likeee::👍 | |
:?*:todooo::☐ | |
:?*:[] ::☐ | |
:?*:doneee::☑ | |
:?*:wontdoo::☒ | |
:?*:warnn::⚠ | |
:?*:(!) ::⚠ | |
:?*::OOO::⛣ | |
:?*:etnokk::<{!}-- __ETN_.O.K.__ --> | |
; 👍 thumbs up sign (U+1F44D) | |
:?*:thumbupp::👍 | |
; U+1F44E THUMBS DOWN SIGN | |
:?*:thumbdnn::👎 | |
:?*:poooo::💩 | |
:?*:bulll::• | |
; 'enter' | |
:?*:_!!::{U+21B5} | |
; 'tab' | |
:?*:>>|::{U+21E5} | |
:?*:>> ::» | |
:?*:<< ::« | |
; | |
:?*:#### ::█ | |
:?*:### ::▓ | |
:?*:## ::▒ | |
:?*:# ::░ | |
; INTERROBANG (U+203D) | |
:?*:?! ::‽ | |
; U+269B ATOM SYMBOL | |
:?*:atommm::⚛ | |
; gear (U+2699) | |
:?*:coggg::⚙ | |
; link symbol (U+1F517) | |
:?*:linkkk::🔗 | |
/* | |
♩ quarter note U+2669 | |
♪ eighth note U+266A | |
♫ beamed eighth notes U+266B | |
♬ beamed sixteenth notes U+266C | |
🎵 musical note U+1F3B5 | |
multiple | |
🎶 multiple musical notes U+1F3B6 | |
📝 memo U+1F4DD | |
❖ black diamond minus white x (U+2756) | |
✦ black four pointed star U+2726 | |
Unicode Characters » Blocks » Dingbats | |
✁ upper blade scissors U+2701 | |
✂ black scissors U+2702 | |
✃ lower blade scissors U+2703 | |
✄ white scissors U+2704 | |
✆ telephone location sign U+2706 | |
✇ tape drive U+2707 | |
✈ airplane U+2708 | |
✉ envelope U+2709 | |
✌ victory hand U+270C | |
✍ writing hand U+270D | |
✎ lower right pencil U+270E | |
✏ pencil U+270F | |
✐ upper right pencil U+2710 | |
✑ white nib U+2711 | |
✒ black nib U+2712 | |
✓ check mark U+2713 | |
✔ heavy check mark U+2714 | |
✕ multiplication x U+2715 | |
✖ heavy multiplication x U+2716 | |
✗ ballot x U+2717 | |
✘ heavy ballot x U+2718 | |
✙ outlined greek cross U+2719 | |
✚ heavy greek cross U+271A | |
✛ open centre cross U+271B | |
✜ heavy open centre cross U+271C | |
✝ latin cross U+271D | |
✞ shadowed white latin cross U+271E | |
✟ outlined latin cross U+271F | |
✠ maltese cross U+2720 | |
✡ star of david U+2721 | |
✢ four teardrop-spoked asterisk U+2722 | |
✣ four balloon-spoked asterisk U+2723 | |
✤ heavy four balloon-spoked asterisk U+2724 | |
✥ four club-spoked asterisk U+2725 | |
✦ black four pointed star U+2726 | |
✧ white four pointed star U+2727 | |
✩ stress outlined white star U+2729 | |
✪ circled white star U+272A | |
✫ open centre black star U+272B | |
✬ black centre white star U+272C | |
✭ outlined black star U+272D | |
✮ heavy outlined black star U+272E | |
✯ pinwheel star U+272F | |
✰ shadowed white star U+2730 | |
✱ heavy asterisk U+2731 | |
✲ open centre asterisk U+2732 | |
✳ eight spoked asterisk U+2733 | |
✴ eight pointed black star U+2734 | |
✵ eight pointed pinwheel star U+2735 | |
✶ six pointed black star U+2736 | |
✷ eight pointed rectilinear black star U+2737 | |
✸ heavy eight pointed rectilinear black star U+2738 | |
✹ twelve pointed black star U+2739 | |
✺ sixteen pointed asterisk U+273A | |
✻ teardrop-spoked asterisk U+273B | |
✼ open centre teardrop-spoked asterisk U+273C | |
✽ heavy teardrop-spoked asterisk U+273D | |
✾ six petalled black and white florette U+273E | |
✿ black florette U+273F | |
❀ white florette U+2740 | |
❁ eight petalled outlined black florette U+2741 | |
❂ circled open centre eight pointed star U+2742 | |
❃ heavy teardrop-spoked pinwheel asterisk U+2743 | |
❄ snowflake U+2744 | |
❅ tight trifoliate snowflake U+2745 | |
❆ heavy chevron snowflake U+2746 | |
❇ sparkle U+2747 | |
❈ heavy sparkle U+2748 | |
❉ balloon-spoked asterisk U+2749 | |
❊ eight teardrop-spoked propeller asterisk U+274A | |
❋ heavy eight teardrop-spoked propeller asterisk U+274B | |
❍ shadowed white circle U+274D | |
❏ lower right drop-shadowed white square U+274F | |
❐ upper right drop-shadowed white square U+2750 | |
❑ lower right shadowed white square U+2751 | |
❒ upper right shadowed white square U+2752 | |
❖ black diamond minus white x U+2756 | |
❗ heavy exclamation mark symbol U+2757 | |
❘ light vertical bar U+2758 | |
❙ medium vertical bar U+2759 | |
❚ heavy vertical bar U+275A | |
❛ heavy single turned comma quotation mark ornament U+275B | |
❜ heavy single comma quotation mark ornament U+275C | |
❝ heavy double turned comma quotation mark ornament U+275D | |
❞ heavy double comma quotation mark ornament U+275E | |
❡ curved stem paragraph sign ornament U+2761 | |
❢ heavy exclamation mark ornament U+2762 | |
❣ heavy heart exclamation mark ornament U+2763 | |
❤ heavy black heart U+2764 | |
❥ rotated heavy black heart bullet U+2765 | |
❦ floral heart U+2766 | |
❧ rotated floral heart bullet U+2767 | |
❨ medium left parenthesis ornament U+2768 | |
❩ medium right parenthesis ornament U+2769 | |
❪ medium flattened left parenthesis ornament U+276A | |
❫ medium flattened right parenthesis ornament U+276B | |
❬ medium left-pointing angle bracket ornament U+276C | |
❭ medium right-pointing angle bracket ornament U+276D | |
❮ heavy left-pointing angle quotation mark ornament U+276E | |
❯ heavy right-pointing angle quotation mark ornament U+276F | |
❰ heavy left-pointing angle bracket ornament U+2770 | |
❱ heavy right-pointing angle bracket ornament U+2771 | |
❲ light left tortoise shell bracket ornament U+2772 | |
❳ light right tortoise shell bracket ornament U+2773 | |
❴ medium left curly bracket ornament U+2774 | |
❵ medium right curly bracket ornament U+2775 | |
❶ dingbat negative circled digit one U+2776 | |
❷ dingbat negative circled digit two U+2777 | |
❸ dingbat negative circled digit three U+2778 | |
❹ dingbat negative circled digit four U+2779 | |
❺ dingbat negative circled digit five U+277A | |
❻ dingbat negative circled digit six U+277B | |
❼ dingbat negative circled digit seven U+277C | |
❽ dingbat negative circled digit eight U+277D | |
❾ dingbat negative circled digit nine U+277E | |
❿ dingbat negative circled number ten U+277F | |
➀ dingbat circled sans-serif digit one U+2780 | |
➁ dingbat circled sans-serif digit two U+2781 | |
➂ dingbat circled sans-serif digit three U+2782 | |
➃ dingbat circled sans-serif digit four U+2783 | |
➄ dingbat circled sans-serif digit five U+2784 | |
➅ dingbat circled sans-serif digit six U+2785 | |
➆ dingbat circled sans-serif digit seven U+2786 | |
➇ dingbat circled sans-serif digit eight U+2787 | |
➈ dingbat circled sans-serif digit nine U+2788 | |
➉ dingbat circled sans-serif number ten U+2789 | |
➊ dingbat negative circled sans-serif digit one U+278A | |
➋ dingbat negative circled sans-serif digit two U+278B | |
➌ dingbat negative circled sans-serif digit three U+278C | |
➍ dingbat negative circled sans-serif digit four U+278D | |
➎ dingbat negative circled sans-serif digit five U+278E | |
➏ dingbat negative circled sans-serif digit six U+278F | |
➐ dingbat negative circled sans-serif digit seven U+2790 | |
➑ dingbat negative circled sans-serif digit eight U+2791 | |
➒ dingbat negative circled sans-serif digit nine U+2792 | |
➓ dingbat negative circled sans-serif number ten U+2793 | |
➔ heavy wide-headed rightwards arrow U+2794 | |
➘ heavy south east arrow U+2798 | |
➙ heavy rightwards arrow U+2799 | |
➚ heavy north east arrow U+279A | |
➛ drafting point rightwards arrow U+279B | |
➜ heavy round-tipped rightwards arrow U+279C | |
➝ triangle-headed rightwards arrow U+279D | |
➞ heavy triangle-headed rightwards arrow U+279E | |
➟ dashed triangle-headed rightwards arrow U+279F | |
➠ heavy dashed triangle-headed rightwards arrow U+27A0 | |
➡ black rightwards arrow U+27A1 | |
➢ three-d top-lighted rightwards arrowhead U+27A2 | |
➣ three-d bottom-lighted rightwards arrowhead U+27A3 | |
➤ black rightwards arrowhead U+27A4 | |
➥ heavy black curved downwards and rightwards arrow U+27A5 | |
➦ heavy black curved upwards and rightwards arrow U+27A6 | |
➧ squat black rightwards arrow U+27A7 | |
➨ heavy concave-pointed black rightwards arrow U+27A8 | |
➩ right-shaded white rightwards arrow U+27A9 | |
➪ left-shaded white rightwards arrow U+27AA | |
➫ back-tilted shadowed white rightwards arrow U+27AB | |
➬ front-tilted shadowed white rightwards arrow U+27AC | |
➭ heavy lower right-shadowed white rightwards arrow U+27AD | |
➮ heavy upper right-shadowed white rightwards arrow U+27AE | |
➯ notched lower right-shadowed white rightwards arrow U+27AF | |
➱ notched upper right-shadowed white rightwards arrow U+27B1 | |
➲ circled heavy white rightwards arrow U+27B2 | |
➳ white-feathered rightwards arrow U+27B3 | |
➴ black-feathered south east arrow U+27B4 | |
➵ black-feathered rightwards arrow U+27B5 | |
➶ black-feathered north east arrow U+27B6 | |
➷ heavy black-feathered south east arrow U+27B7 | |
➸ heavy black-feathered rightwards arrow U+27B8 | |
➹ heavy black-feathered north east arrow U+27B9 | |
➺ teardrop-barbed rightwards arrow U+27BA | |
➻ heavy teardrop-shanked rightwards arrow U+27BB | |
➼ wedge-tailed rightwards arrow U+27BC | |
➽ heavy wedge-tailed rightwards arrow U+27BD | |
➾ open-outlined rightwards arrow U+27BE | |
✅ white heavy check mark U+2705 | |
✊ raised fist U+270A | |
✋ raised hand U+270B | |
✨ sparkles U+2728 | |
❌ cross mark U+274C | |
❎ negative squared cross mark U+274E | |
❓ black question mark ornament U+2753 | |
❔ white question mark ornament U+2754 | |
❕ white exclamation mark ornament U+2755 | |
❟ heavy low single comma quotation mark ornament U+275F | |
❠ heavy low double comma quotation mark ornament U+2760 | |
➕ heavy plus sign U+2795 | |
➖ heavy minus sign U+2796 | |
➗ heavy division sign U+2797 | |
➰ curly loop U+27B0 | |
➿ double curly loop U+27BF | |
✀ black safety scissors U+2700 | |
█ | |
▓ | |
▒ | |
░ | |
[ U+FF3B FULLWIDTH LEFT SQUARE BRACKET (U+FF3B) | |
\ U+FF3C FULLWIDTH REVERSE SOLIDUS (U+FF3C) | |
/ U+FF0F FULLWIDTH SOLIDUS (U+FF0F) | |
] U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (U+FF3D) | |
^ U+FF3E FULLWIDTH CIRCUMFLEX ACCENT (U+FF3E) | |
_ U+FF3F FULLWIDTH LOW LINE (U+FF3F) | |
` U+FF40 FULLWIDTH GRAVE ACCENT (U+FF40) | |
{ U+FF5B FULLWIDTH LEFT CURLY BRACKET (U+FF5B) | |
| U+FF5C FULLWIDTH VERTICAL LINE (U+FF5C) | |
} U+FF5D FULLWIDTH RIGHT CURLY BRACKET (U+FF5D) | |
~ U+FF5E FULLWIDTH TILDE (U+FF5E) | |
⦅ U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (U+FF5F) | |
⦆ U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (U+FF60) | |
。 U+FF61 HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61) | |
「 U+FF62 HALFWIDTH LEFT CORNER BRACKET (U+FF62) | |
」 U+FF63 HALFWIDTH RIGHT CORNER BRACKET (U+FF63) | |
、 U+FF64 HALFWIDTH IDEOGRAPHIC COMMA (U+FF64) | |
・ U+FF65 HALFWIDTH KATAKANA MIDDLE DOT (U+FF65) | |
│ U+FFE8 HALFWIDTH FORMS LIGHT VERTICAL (U+FFE8) | |
← U+FFE9 HALFWIDTH LEFTWARDS ARROW (U+FFE9) | |
↑ U+FFEA HALFWIDTH UPWARDS ARROW (U+FFEA) | |
→ U+FFEB HALFWIDTH RIGHTWARDS ARROW (U+FFEB) | |
↓ U+FFEC HALFWIDTH DOWNWARDS ARROW (U+FFEC) | |
■ U+FFED HALFWIDTH BLACK SQUARE (U+FFED) | |
○ U+FFEE HALFWIDTH WHITE CIRCLE (U+FFEE) | |
☐ BALLOT BOX U+2610 BALLOT BOX | |
❌ U+274C CROSS MARK (U+274C) | |
☒ X, BALLOT BOX WITH U+2612 BALLOT BOX WITH X | |
☑ BALLOT BOX WITH CHECK U+2611 BALLOT BOX WITH CHECK | |
✓ CHECK MARK U+2713 CHECK MARK | |
✔ HEAVY CHECK MARK U+2714 HEAVY CHECK MARK | |
✔️ + variation selector 16 | |
✗ BALLOT X (U+2717) | |
✘ HEAVY BALLOT X (U+2718) | |
☰ 'Trigram for heaven' ☰ | |
★ 'BLACK STAR' (U+2605) | |
☆ WHITE STAR' (U+2606) | |
⛣ heavy circle with stroke and two dots above U+26E3 | |
„ „ | |
” ” | |
#﹟#♯⋕ | |
±± ± 'PLUS-MINUS SIGN' (U+00B1) | |
💀💀 'SKULL' (U+1F480) | |
☠☠ 'SKULL AND CROSSBONES' (U+2620) | |
·· | |
˜~ altgr + | |
†† | |
‡‡ | |
‹‹ | |
›› | |
’’ | |
‘‘ | |
«« | |
»» | |
¬¬ | |
­ | |
°° | |
±± | |
µµ | |
•• | |
˙˙ | |
ßß | |
÷÷ | |
♦♦ | |
♥♥ | |
❤❤❤HEAVY BLACK HEART | |
♡♡♡ WHITE HEART SUIT | |
kafe ☕ | |
♣♣ | |
♠♠ | |
◊◊ | |
≥≥ | |
≤≤ | |
≡≡ identical to (U+2261) | |
≠≠ | |
≈≈ | |
∫∫ | |
∩∩ | |
∞∞ | |
∑∑ | |
∏∏ | |
∂∂ | |
↔↔ | |
↓↓ | |
→→ | |
↑↑ | |
←← | |
™™ | |
⁄⁄ | |
‾‾ | |
ωω | |
ψψ | |
χχ | |
φφ | |
υυ | |
ττ | |
σσ | |
ςς | |
ρρ | |
ππ | |
οο | |
ξξ | |
νν | |
μμ | |
λλ | |
κκ | |
ιι | |
θθ | |
ηη | |
ζζ | |
εε | |
δδ | |
γγ | |
ββ | |
αα | |
ΩΩ | |
ΨΨ | |
ΧΧ | |
ΦΦ | |
ΥΥ | |
ΤΤ | |
ΣΣ | |
ΡΡ | |
ΠΠ | |
ΟΟ | |
ΞΞ | |
ΝΝ | |
ΜΜ | |
ΛΛ | |
ΚΚ | |
ΙΙ | |
ΘΘ | |
ΗΗ | |
ΖΖ | |
ΕΕ | |
ΔΔ | |
ΓΓ | |
ΒΒ | |
ΑΑ | |
ſſ | |
🔎 RIGHT-POINTING MAGNIFYING GLASS | |
🔍 LEFT-POINTING MAGNIFYING GLASS | |
*/ | |
; | |
; smajlík ': )' s | |
; | |
:?*:: ) ::: ) | |
; | |
; CW CMS Aladin | |
; | |
; - "|noescape" | |
:?*:|noe::|noescape | |
; - "|normalize" | |
:?*:|nor::|normalize | |
; - ${} | |
; | |
; Atlassian Jira markup | |
; | |
; {code} | |
:*:cddd::{{}code{}} | |
; | |
; write shorthand | |
; | -> ${|} | |
; | |
^+!ů::SendInput,${{}{}}{left} | |
; | |
; write expression shorthand | |
; | -> ${(|)} | |
; | |
^#!ů::SendInput,${{}(){}}{left 2} | |
; | |
; | -> (|) | |
; | |
+#)::SendInput,(){left} | |
; | |
; CSS | |
; | |
:?*:!;::{!}important | |
:?*:bggg::background | |
:?*:mqqq::@media only screen and (max-width: px){{}{}}{left 5} | |
:?*:bgaa::background-attachment: fixed | |
:?*:bgcc::background-color: {#} | |
:?*:bgii::background-image: url(''){left 2} | |
:?*:bgill::background-image: linear-gradient(){left} | |
:?*:bgpp::background-position: | |
:?*:bgrr::background-repeat: no-repeat{left 9}{shift down}{right 9}{shift up} | |
;; {control down}{down}{control up} v chytrejch editorech umí vrátit kurzor na konec výběru, ale ne všechny to uměj | |
:?*:bprr::border: 1px solid red | |
:?*:br ::background-color: rgba(255,0,0,.5){left 16}{shift down}{right 16}{shift up} | |
:?*:oprr::outline: 1px solid rgba(255,0,0,.5) | |
:?*:lnhh::line-height: | |
:?*:posss::position | |
:?*:posrr::position: relative | |
:?*:posaa::position: absolute | |
:?*:whsp::white-space: nowrap | |
:?*:t0 ::top: 0; | |
:?*:r0 ::right: 0; | |
:?*:b0 ::bottom: 0; | |
:?*:l0 ::left: 0; | |
; :?*:posfx::position: fixed | |
; | |
; misc | |
; | |
:?*:apropos ::à propos | |
:?*:brekekex::Βρεκεκέξ κουάξ κουάξ | |
:?*:ěšččč::příliš žluťoučký kůň úpěl ďábelské ódy | |
; ------------------- | |
; wrap in brackets | |
; (%sel?%) | |
; ctrl + shift + ) | |
^+#):: | |
gosub backup_clipboard | |
sendInput,^c | |
clipWait,2 | |
clipboard = (%clipboard%) | |
clipWait,2 | |
sendInput,^v | |
sleep,10 | |
sendInput,{left} | |
gosub,restore_clipboard | |
return | |
; wrap in brackets | |
; (%sel?%) | |
; ctrl + shift + ) | |
^+#ů:: | |
gosub backup_clipboard | |
sendInput,^c | |
clipWait,2 | |
clipboard = "%clipboard%" | |
clipWait,2 | |
sendInput,^v | |
sleep,10 | |
sendInput,{left} | |
gosub,restore_clipboard | |
return | |
; >( | | |
; ) | |
; ctrl alt shift ) | |
!^+)::SendInput,({enter}){up}{end} | |
; JS closure | |
!^+#)::SendInput,(function(){{}{enter 2}{}})();{up}{end} | |
;%A_TAB% | |
; ctrl + alt + shift f : [|] | |
!^+f::SendInput,{[}{]}{left} | |
; ctrl + alt + g : [|] | |
!^+g::SendInput,{[}{/}{]}{left} | |
; win + ú : { | |
#ú::SendInput,{{} | |
; win + ) : } | |
#)::SendInput,{}} | |
; | |
; open curly bracket `tag` | |
^#!b::SendInput,{{}{}}{left} | |
; close curly bracket `tag` | |
; | |
; close curly bracket `tag` | |
^#!n::SendInput,{{}/{}}{left} | |
; autoclose curly bracket `tag` | |
+^#!n:: | |
AutoTrim, Off | |
gosub,backup_clipboard | |
send, +{home} | |
sleep,10 | |
send, ^c | |
ClipWait,1 | |
if errorLevel | |
{ return | |
} | |
regExMatch(clipboard, "\{([^ /{}]+)(?: [^{}]*[^/{}])?\}[^{}]*$", match) | |
if !match | |
{ | |
send {right} | |
return | |
} | |
closeTag = {/%match1%} | |
lgt := strLen(closeTag) | |
clipboard = %clipboard%%closetag% | |
clipWait,1 | |
send, ^v | |
sleep,10 | |
send, {left %lgt%} | |
gosub,restore_clipboard | |
AutoTrim, On | |
return | |
; | |
; tag <|> | |
; alt , | |
; | |
!,:: | |
gosub,backup_clipboard | |
clipboard = <> | |
clipWait,1 | |
send, ^v | |
sleep,10 | |
send, {left} | |
gosub,restore_clipboard | |
return | |
; | |
; closing tag </|> | |
; alt . | |
; | |
#IfWinNotActive ahk_exe Code.exe | |
!.:: | |
gosub,backup_clipboard | |
clipboard = </> | |
clipWait,1 | |
send, ^v | |
sleep,10 | |
send, {left} | |
gosub,restore_clipboard | |
return | |
#IfWinNotActive | |
#^+.::SendInput,</>{left} | |
; | |
; § comments | |
; | |
; | |
; | :: {/*|*/} | |
; shift + ctrl + win + b | |
+^#b::SendInput,{{}/**/{}}{left 3} | |
; | |
; <!-- / --> | |
; alt ctr win . | |
!+#,::SendInput,<{!}---->{left 3} | |
!+#.::SendInput,--> | |
; <? ?> | |
^#!,::sendInput,<? ?>{left 3} | |
^#!.::sendInput,<? / ?>{left 3} | |
; | |
; PHP | |
; | |
:*:askv:: as $key=>$value | |
; | |
; FF | |
; | |
:*:vsr-::view-source: | |
:*:eeCO::encodeURIComponent | |
; | |
; END HOTSTRINGS | |
; | |
;;;;;;;;;;;;; | |
; | |
; § application windows toggles | |
; | |
;;;;;;;;;;;;; | |
; | |
; toggle sound volume control | |
; ctrl win alt m | |
; | |
^#!m:: | |
ifwinexist ahk_class #32770 | |
{ ifWinActive | |
{ winClose | |
} else | |
{ winActivate | |
} | |
} else | |
{ | |
desired_window_width := 720 | |
run, C:\Windows\System32\SndVol.exe | |
WinWaitActive, ahk_class #32770 | |
WinGetPos, X, Y, Width, Height, A | |
WinMove, A, , (A_ScreenWidth/2)-(desired_window_width/2), (A_ScreenHeight/2)-(Height/2), desired_window_width, Height | |
} | |
return | |
^!s:: | |
WinGetPos, X, Y, Width, Height, A | |
; msgbox, %width% | |
WinMove, A, , X, Y, 1200, 800 | |
return | |
; | |
; lens + zoom | |
; win alt l | |
; | |
!#l:: | |
ifwinexist ahk_exe Magnifixer.exe | |
{ ifWinActive | |
{ winClose | |
} else | |
{ winActivate | |
} | |
} else | |
{ run, C:\apps\Magnifixer\Magnifixer.exe | |
; WinSet, Style, ^0xC00000, ahk_class Lens::Main | |
} | |
return | |
; | |
; pidgin | |
; | |
^+#a:: | |
ifWinExist,ahk_exe pidgin-portable.exe | |
{ ifWinActive | |
{ SendInput, !{f4} | |
; set to close to systray | |
} else | |
{ run, C:\apps\PidginPortable\PidginPortable.exe | |
; this will bring the window to front as well | |
; sadly, this is the ONLY way I could do this :( | |
; and sometimes it ceases to work properly | |
; presumably race condition in window retrieval | |
} | |
} else | |
{ run, C:\apps\PidginPortable\PidginPortable.exe | |
} | |
return | |
; | |
; winscp | |
; win shift 1 (`+` on CS keyboard) | |
; (win + 1 focuses / start first app on taskbar, which is FreeCommander) | |
; | |
#++:: | |
DetectHiddenWindows ON | |
ifwinexist ahk_class TScpCommanderForm | |
{ ifWinActive | |
{ winMinimize | |
winHide | |
} else | |
{ winShow | |
winActivate | |
} | |
} else | |
{ run, C:\apps\WinSCP\WinSCP.exe | |
} | |
DetectHiddenWindows OFF | |
return | |
; | |
; process explorer window toggle | |
; | |
#!p:: | |
DetectHiddenWindows ON | |
ifwinexist ahk_class PROCEXPL | |
{ PostMessage 0x7e9, 1, 0x201,, ahk_class PROCEXPL | |
} else | |
{ run C:\apps\ProcessExplorer\procexp.exe | |
} | |
DetectHiddenWindows OFF | |
Return | |
#IfWinActive ahk_class TaskManagerWindow | |
esc:: | |
winMinimize | |
return | |
#IfWinActive | |
#!x::Media_Play_Pause | |
#!y::Media_Prev | |
#!c::Media_Next | |
; | |
; spotify window toggle | |
; | |
#!s:: | |
DetectHiddenWindows ON | |
ifwinNotExist ahk_exe Spotify.exe | |
; ahk_class SpotifyMainWindow | |
; ahk_exe Spotify.exe | |
{ run %A_AppData%\Spotify\Spotify.exe | |
} else | |
{ ifWinNotActive | |
{ winShow | |
winActivate | |
} else | |
{ ; :( | |
; winClose ; set options to "minimise to tray on close" | |
; WinSet, Bottom | |
; sendInput,!{Esc} ; let's leave the window opened and maximised - workaround of that ugly slow after-restore adjustments | |
; especially with multi monitor setup | |
; alt + escape ftw ! | |
} | |
} | |
DetectHiddenWindows OFF | |
Return | |
; | |
; outlook window toggle | |
; | |
#+a:: | |
DetectHiddenWindows ON | |
ifwinNotExist ahk_class rctrl_renwnd32 | |
{ run outlook | |
} else | |
{ ifWinNotActive | |
{ winShow | |
winActivate | |
} else | |
{ winMinimize | |
winHide | |
} | |
} | |
DetectHiddenWindows OFF | |
Return | |
; | |
; Billy muscle memory | |
; | |
#IfWinActive ahk_class SpotifyMainWindow | |
f11:: | |
; WinClose | |
; WinSet, bottom | |
sendInput,!{Esc} | |
return | |
#IfWinActive | |
; | |
; DevDocs toggle (or start) | |
; win + shift + d | |
; (I like to bind GLOBAL things to the WIN key and leave CTRL and ALT for apps) | |
; | |
#+d:: | |
DetectHiddenWindows ON | |
ifWinExist, DevDocs | |
{ | |
ifWinNotActive | |
{ | |
winShow | |
winActivate | |
} else | |
{ | |
winMinimize | |
winHide | |
} | |
} else | |
{ | |
run "%AppData%\Microsoft\Windows\Start Menu\Programs\Aplikace Chrome\DevDocs.lnk" | |
} | |
DetectHiddenWindows OFF | |
Return | |
/* | |
#+a:: | |
WinGet, active_id, ProcessPath, A | |
; WinMaximize, ahk_id %active_id% | |
MsgBox, The active window's ID is "%active_id%". | |
return | |
*/ | |
; | |
; screamer | |
; | |
/* | |
#w:: | |
DetectHiddenWindows, On | |
ifWinExist ahk_class #32770 | |
{ ifWinNotActive | |
{ winShow | |
winActivate | |
} else | |
{ winMinimize | |
; winHide | |
} | |
} | |
DetectHiddenWindows, Off | |
Return | |
*/ | |
; | |
; FreeCommander run / toggle | |
; | |
#q:: | |
DetectHiddenWindows, On | |
IfWinNotExist, ahk_class FreeCommanderXE.SingleInst.1 | |
{ run, "c:\apps\FreeCommander\FreeCommander.exe" | |
} else | |
{ ifWinNotActive | |
{ winActivate | |
} else | |
{ winMinimize | |
} | |
} | |
DetectHiddenWindows, Off | |
Return | |
; | |
; move window with -alt- +ctrl+ + rmb | |
; | |
; This script modified from the original: http://www.autohotkey.com/docs/scripts/EasyWindowDrag.htm | |
; by The How-To Geek | |
; http://www.howtogeek.com | |
; | |
Ctrl & RButton:: | |
CoordMode, Mouse ; Switch to screen/absolute coordinates. | |
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin | |
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin% | |
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% | |
if EWD_WinState = 0 ; Only if the window isn't maximized | |
SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it. | |
return | |
EWD_WatchMouse: | |
GetKeyState, EWD_RButtonState, RButton, P | |
if EWD_RButtonState = U ; Button has been released, so drag is complete. | |
{ | |
SetTimer, EWD_WatchMouse, off | |
return | |
} | |
GetKeyState, EWD_EscapeState, Escape, P | |
if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled. | |
{ | |
SetTimer, EWD_WatchMouse, off | |
WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY% | |
return | |
} | |
; Otherwise, reposition the window to match the change in mouse coordinates | |
; caused by the user having dragged the mouse: | |
CoordMode, Mouse | |
MouseGetPos, EWD_MouseX, EWD_MouseY | |
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin% | |
SetWinDelay, -1 ; Makes the below move faster/smoother. | |
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY | |
EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine. | |
EWD_MouseStartY := EWD_MouseY | |
return | |
;;; | |
; | |
; middle mouse button | |
; right alt + click | |
; | |
; >!lbutton::mbutton | |
; | |
; mouse click from keyboard | |
; | |
capsLock & space:: | |
SendEvent,{Blind}{LButton down} | |
KeyWait space ; Prevents keyboard auto-repeat from repeating the mouse click. | |
SendEvent,{Blind}{LButton up} | |
return | |
capsLock & alt:: | |
SendEvent,{Blind}{MButton down} | |
KeyWait alt ; Prevents keyboard auto-repeat from repeating the mouse click. | |
SendEvent,{Blind}{MButton up} | |
return | |
capsLock & Lwin:: | |
SendEvent,{Blind}{RButton down} | |
KeyWait Lwin ; Prevents keyboard auto-repeat from repeating the mouse click. | |
SendEvent,{Blind}{RButton up} | |
return | |
; space & j::left | |
capsLock & j:: SendInput,{blind}{left} | |
;capsLock & j:: SendInput,{blind}{left down} | |
;capsLock & j up::SendInput,{blind}{left up} | |
capsLock & l:: SendInput,{blind}{right} | |
;capsLock & l:: SendInput,{blind}{right down} | |
;capsLock & l up::SendInput,{blind}{right up} | |
capsLock & k:: SendInput,{blind}{down} | |
;capsLock & k:: SendInput,{blind}{down down} | |
;capsLock & k up::SendInput,{blind}{down up} | |
capsLock & i:: SendInput,{blind}{up} | |
;capsLock & i:: SendInput,{blind}{up down} | |
;capsLock & i up::SendInput,{blind}{up up} | |
capsLock & u:: SendInput,{blind}{home} | |
;capsLock & u:: SendInput,{blind}{home down} | |
;capsLock & u up::SendInput,{blind}{home up} | |
capsLock & o:: SendInput,{blind}{end} | |
;capsLock & o:: SendInput,{blind}{end down} | |
;capsLock & o up::SendInput,{blind}{end up} | |
; #Persistent | |
; SetCapsLockState, AlwaysOff | |
; Capslock + jkli -> 'arrow-like' movement | |
; (left, down, up, right) | |
; rshift:: | |
; a := GetKeyState("LShift") | |
; msgbox,%a% | |
; return | |
; lshift & rshift::msgbox,combo | |
; rshift & lshift::msgbox,comboo | |
/* klávesa vedle shiftu na cz klávesnici | |
*/ | |
;vkE2sc056 | |
vkE2 & j::Send {Blind}{Left DownTemp} | |
vkE2 & j up::Send {Blind}{Left Up} | |
vkE2 & k::Send {Blind}{Down DownTemp} | |
vkE2 & k up::Send {Blind}{Down Up} | |
vkE2 & i::Send {Blind}{Up DownTemp} | |
vkE2 & i up::Send {Blind}{Up Up} | |
vkE2 & l::Send {Blind}{Right DownTemp} | |
vkE2 & l up::Send {Blind}{Right Up} | |
; ? + nmuo (pgdown, pgup, home, end) | |
vkE2 & n::SendInput {Blind}{PgUp DownTemp} | |
vkE2 & n up::SendInput {Blind}{PgUp Up} | |
vkE2 & m::SendInput {Blind}{PgDn DownTemp} | |
vkE2 & m up::SendInput {Blind}{PgDn Up} | |
vkE2 & u::SendInput {Blind}{Home DownTemp} | |
vkE2 & u up::SendInput {Blind}{Home Up} | |
vkE2 & o::SendInput {Blind}{End DownTemp} | |
vkE2 & o up::SendInput {Blind}{End Up} | |
; ? + p (delete) | |
vkE2 & p::SendInput {Blind}{Backspace DownTemp} | |
vkE2 & p up::SendInput {Blind}{Backspace Up} | |
/* | |
*/ | |
; notebook key [|\] (next to the left shift) | |
; 'fakof backslash vedle shiftu' | |
; -> shift | |
; actually, lets make it a new modifier key, MWAHAHAHAHHAHAHA | |
; | |
; | |
; fakof lokální desetinná čárka | |
; | |
numpaddot::. | |
; Half-Transparent window | |
; hold ctrl + alt + spacebar | |
^!Space::WinSet, Transparent, 50, A | |
^!Space UP::WinSet, Transparent, OFF, A | |
; park cursor | |
#+p::MouseMove, A_screenwidth / 2, A_screenheight + 5 | |
; ; google selected word / word from clipboard | |
; #!g:: | |
; send,^c | |
; clipWait,2 | |
; run, https://www.google.com/search?q=%clipboard% | |
; return | |
; uppercase selected text | |
+^#u:: | |
gosub backup_clipboard | |
sendInput,^c | |
clipWait,2 | |
StringUpper, clipboard , clipboard | |
sendInput,^v | |
sleep,10 | |
StringLen, l, clipboard | |
sendInput,{left %l%}+{right %l%} | |
gosub restore_clipboard | |
return | |
; lowercase selected text | |
+^#l:: | |
gosub backup_clipboard | |
sendInput,^c | |
clipWait,2 | |
sleep,10 | |
StringLower, clipboard , clipboard | |
clipWait,2 | |
sleep,10 | |
sendInput,^v | |
sleep,10 | |
StringLen, l, clipboard | |
sendInput,{left %l%}+{right %l%} | |
gosub restore_clipboard | |
return | |
; | |
; screenshot of active window in PNG to Dropbox using IrfanView and place its public link into clipboard | |
; ctrl PrintScreen | |
; | |
; config: | |
^PrintScreen:: | |
myDropboxLocalFolderPath = C:\Dropbox\Public\shots\ | |
; now copy any file's public link from here an paste it below, without filename. | |
myDropboxPublicFolderUrl = http://dl.dropbox.com/u/1571982/shots/ | |
myIrfanViewExecutableLocation = C:\apps\IrfanView\i_view32.exe | |
; get and sanitize active window's title so it could be filename | |
myFileManagerExecutablePath = C:\apps\FreeCommander\FreeCommander.exe | |
WinGetActiveTitle, filetitle | |
filetitle := RegExReplace( filetitle, "i)[^a-z0-9_-]+", "+") | |
StringReplace, filetitle, filetitle, %A_SPACE%, _ , All | |
; add timestamp and suffix; use can use any format Irfan is able to save into | |
filetitle := filetitle . "_-_" . A_Now . ".png" | |
fullfilepath := myDropboxLocalFolderPath . filetitle | |
; public URL into clipboard | |
clipboard := myDropboxPublicFolderUrl . filetitle | |
; let irfanView do the magic | |
RunWait,%myIrfanViewExecutableLocation% /capture=2 /convert=%fullfilepath% | |
return | |
; ^+printscreen::run,%myFileManagerExecutablePath%,%myDropboxLocalFolderPath% | |
^+printscreen::run,C:\apps\FreeCommander\FreeCommander.exe C:\Dropbox\Public\shots | |
; | |
; open / view current clipboard in irfanView | |
; win alt i | |
; | |
#!i::run,C:\apps\IrfanView\i_view32.exe /clippaste | |
>+enter::Send {Alt Down}{Enter}{Alt Up} | |
; #IfWinActive ahk_class Photoshop | |
; +ins::^v | |
; ^ins::^c | |
; #IfWinActive | |
; ; burn | |
; #IfWinExist ahk_class Photoshop | |
; #IfWinNotActive ahk_class Photoshop | |
; Esc::sendInput+{ESC} | |
; #IfWinNotActive | |
; #IfWinExist | |
; ~Esc:: | |
; { | |
; IfWinExist, ahk_class Photoshop | |
; { | |
; IfWinActive ahk_class Photoshop | |
; { | |
; Send {ESC} | |
; } else { | |
; Send +{ESC} | |
; } | |
; } else { | |
; Send {ESC} | |
; } | |
; return | |
; } | |
/* | |
; | |
; pokus se sekvenčním datlením à la telefonová klávesnice | |
; | |
:b0*?:111:: | |
sendInput {backspace 2} | |
sendInput c | |
return | |
:b0*?:11:: | |
sendInput {backspace 2} | |
sendInput b | |
return | |
:b0*?:1:: | |
sendInput {backspace} | |
sendInput a | |
return | |
*/ | |
; copy color under mouse cursor | |
; for multi monitor with different DPI it is necessaty to set AHK executable compatibility | |
; "Override high DPI scaling behavior: Application" | |
; -- https://www.autohotkey.com/boards/viewtopic.php?t=54700#p236759 | |
^+#c:: | |
MouseGetPos, MouseX, MouseY | |
PixelGetColor, color, %MouseX%, %MouseY%, RGB | |
R := color >> 16 & 0xFF | |
G := color >> 8 & 0xFF | |
B := color & 0xFF | |
; MsgBox, The color at %MouseX% / %A_ScreenWidth%, %MouseY% / %A_ScreenHeight% (DPI: %A_ScreenDPI%) is %color% = rgb(%R%,%G%,%B%). | |
MsgBox, copied: rgb(%R%,%G%,%B%) %color% | |
clipboard=rgb(%R%,%G%,%B%) %color% | |
return | |
; | |
; space as Shift | |
; | |
; $space:: | |
; send {LShift down} | |
; Spacedown := A_TickCount | |
; Return | |
; $+space up:: | |
; ; The space-down set the shift-key, so the space-up event is now shift+space-up | |
; send {LShift up} | |
; if (A_TickCount - Spacedown <200) | |
; ; If short time between space-down and space-up... | |
; Send {Space} | |
; Return | |
; *Space:: | |
; SendInput, {Shift Down} | |
; Key = | |
; Input, Key, V L1 | |
; Return | |
; *Space Up:: | |
; SendInput, {Shift Up} | |
; Input,,T.01 | |
; If !Key | |
; SendInput, %A_Space% | |
; Return | |
; EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment