1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
| ;======本文是萌新的AHK常用脚本。原理不是很懂。AHK也没用多久。若有不恰当之处,望不吝赐教。======== ;============================基本按键介绍================================== ; ! → [Alt] ; ! 想象成 Alt 的 l ; # → [win] ; # 想 windows开始图案 ; ^ → [Ctrl] ; ^ 想象成 Ctrl 的 倒C ; + → [Shift] ; + 想象成 Shift 的 f拉长
; p.s. 开机启动 ahk脚本 → 把对应脚本的【快捷方式】放到: ; C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ 【即可】 ;===============================特殊功能区1: 复制替换区========================================== ;当前目录 打开CMD ;解决: 打开PowerShell就好了(资源管理器 → [Shift] + 鼠标右键),cmd 能做的 PowerShell 都能做
;把选中文本的 tab键 换为 4个空格键 ([Ctrl] + V 黏贴覆盖就好,会有稍微变形 原因如下 ↓ ) ;缺陷1: 原理是替换空格。而tab键能够4个空格内,自动适应,所以tab实际可能等于1~4个空格,替换会导致轻微变形 ^!/:: Send ^c Send ^c clipboard := StrReplace(clipboard, A_Tab, A_Space A_Space A_Space A_Space) tooltip,%clipboard% sleep,800 tooltip, return
;复制选择文字并转换 " \ " 为 "/" ^!\:: ;操作: 先选中文本,再按 [Alt] + \ , 再黏贴(按下 [Ctrl] +V),完毕 Send ^c Send ^c StringReplace, clip, clipboard, \, /, All StringReplace, clip, clipboard, \, /, All tooltip,%clip% ;在鼠标右侧显示clipboard内容 sleep,800 tooltip, return
;复制选择文字并转换 "空格" 为 "下划线" ^!-:: Send ^c Send ^c clip := RegExReplace(clipboard, "\s","_") clip := RegExReplace(clipboard, "\s","_") tooltip,%clip% ;在鼠标右侧显示clipboard内容 sleep,800 tooltip, return ;===============================特殊功能区2: 搜索区============================================ ;用Google搜索选中的文字; ;解决: Send ^c 有时候没用 (编程语句用两次,防止 偶然/未知原因 导致的失败) ;使用正则替换(RegExReplace)实现了,空格替换为 "+"号, 使搜索功能有更好的使用体验 !g:: Send ^c Send ^c clipboard := RegExReplace(clipboard, "\s","+") clipboard := RegExReplace(clipboard, "\s","+") Chrome = C:\Program Files (x86)\Google\Chrome\Application\chrome.exe Run %Chrome% http://www.google.com/search?q=%clipboard% return ;===============================特殊功能区3: 复制/打开 文件路径区=============================== Explorer_GetSelection(hwnd="") { WinGet, process, processName, % "ahk_id" hwnd := hwnd? hwnd:WinExist("A") WinGetClass class, ahk_id %hwnd% if (process != "explorer.exe") return if (class ~= "Progman|WorkerW") { ControlGet, files, List, Selected Col1, SysListView321, ahk_class %class% Loop, Parse, files, `n, `r ToReturn .= A_Desktop "\" A_LoopField "`n" } else if (class ~= "(Cabinet|Explore)WClass") { for window in ComObjCreate("Shell.Application").Windows { try{ if (window.hwnd==hwnd) sel := window.Document.SelectedItems }catch e { continue } } for item in sel ToReturn .= item.path "`n" } return Trim(ToReturn,"`n") }
;[Win] + Z ;一键拷贝文件路径 ; #Z:: clipboard := % Explorer_GetSelection(hwnd) ;调用了 函数 Tooltip,%clipboard% ;在鼠标右侧显示【拷贝的文件路径】 Sleep,800 Tooltip, return
;一键用notepad++[打开选中的文件]or[选中文件夹]的所有子文件 ;路径中有空格就会很糟糕 ;[Win] + E #E:: path :=% Explorer_GetSelection(hwnd) ;调用了 函数 Software = C:\Program Files\Notepad++\notepad++.exe IfInString, path, %A_Space% { Tooltip, path中有空格 ;在鼠标右侧显示【错误信息】 Sleep,800 Tooltip, } else{ Run, %Software% %path% } return
;C:\Users\NGP\Desktop\12 23 ;numOfSpacesInPath := RegExMatch(clipboard,"\s") 【正则匹配被取代,有更好的】
;===============================特殊功能区4: 特殊热字串区=================================== ;发送当前日期 【?号表示在单词中也会替换,e.g. Vnnow → V2019.....】 :?:nnow:: FormatTime, CurrentDateTime,, yyy-MM-dd HH:mm:ss Send %CurrentDateTime% return
;==================================特殊功能区n: 特殊区====================================== ;显示 复制和剪切的内容 ~^x:: ~^c:: ;~ 表示次热键并不屏蔽按键原有功能 Sleep, 100 ;等待0.1s 强制机械等待剪贴板出现内容 ;clip:=clipboard StringLeft,clipboard_left,clipboard,500 Tooltip,%clipboard_left% ;在鼠标右侧显示clip(clipboard内容) Sleep,800 Tooltip, Return
;================================便捷输入区================================================= ;以下cmd命令可以解决部分中文乱码问题 ;chcp 936
;便捷输入 常用账号名 ::nnev:: XXXXXXXXXXXXXXX
;放弃【段首缩进】。使用【换行】实现 【换段】,有效减轻【文字过于密集,以至于阅读体验不好】的问题。
;===============================软件快捷启动区==============================================
;打开AutoHotkey中文教程 !y:: Run, E:\00win10装机\03装机必备软件\4AHK\AutoHotkeyHelp_CN\AutoHotkey.chm return
;打开Eclipse !e:: Run, D:\0Software\eclipse\eclipse.exe return
;###############################以下内容均已注释【注释】############################################# ;##################################特殊功能区【注释】################################################ ;[Ctrl] + [Shift] + C ;一键拷贝文件路径 【功能已被替换Win+Z】 ;缺陷1: 无法拷贝父文件夹路径 ;缺陷2: 路径中不能有空格(也不能说是缺陷吧,了解点为什么路径最好是全英文+下划线的原因) ;缺陷3: 偶尔[Ctrl] + C 不灵,不知道是不是这个热键导致的。 ;缺陷4:因为用的是 ^C 也就是Ctrl+C实现的,剪切板会被当前路径覆盖 ;优势1: 意外地能复制文本。 ;^+c:: ;Send ^c ;sleep,200 ;clipboard=%clipboard% ;%null% ;tooltip,%clipboard% ;在鼠标右侧显示clipboard内容 ;sleep,800 ;tooltip, ;return
;按一下tab输出4个空格,把原来的 [Tab] 键屏蔽了 【功能已被替换Ctrl+Alt+/】 ;Tab:: ;Send {space} ;Send {space} ;Send {space} ;Send {space} ;return
;###############################软件快捷启动区【注释】############################################### ;!s:: ;Notepad++ 打开预设位置的py文件 ;RuanJian # C:\Program Files\Notepad++\notepad++.exe ;WenJian # D:\pythonDemo\TestDemo.py ;Run, %RuanJian% "%WenJian%" ;return
;打开 cmder ;!c:: ;Run, D:\0Software\cmder\Cmder.exe ;return
;!c:: ;打开cmd 并输入一段命令 ;缺陷1:同一时间同一路径只能打开一个cmd ;缺陷2:必须在英文输入法下 ;缺陷3:偶尔标点输入出错 ;run cmd.exe ;WinWait, cmd.exe ;Send cd /d D:\blog\ {Enter} ; ;return
;##################################便捷输入区【注释】################################################# ;Java 便捷输入 ;输入//e8后再空格 → 输入替换 ;::/cpy::cd /d D:\pythonDemo\ {Enter} ;::/e8:: -encoding utf-8
;CSDN 便捷输入 ;::nbsp::
;Hexo 便捷输入 (文档: 超长替换,即替换可以输出特殊符号) ;::nnot:: ;( ;notepad++ * -r ;)
|