分享一波目前写的最强的autohotkey 插件
支持各种软件快速切换,补全括号,代码等!!!!!!!!
- ;这种全局定义要写在所有代码的前面才能让所有代码起作用.
- SetCapsLockState , AlwaysOff
- SetNumlockState, AlwaysOn
- GroupAdd, DisableBracketAuto , PyCharm ;注意这种语句要放最前面才起作用
- GroupAdd, DisableBracketAuto , Xshell ;注意这种语句要放最前面才起作用
- SetTitleMatchMode,
- SetTitleMatchMode, slow
- ^b::
- run http://www.baidu.com/
- return
- #b::
- run https://www.google.com/
- return
- ;需要写一个按照像素移动鼠标的功能,做cv用,当然photoshop也可以使用.
- CapsLock & Up::
- MouseMove, , -, , R
- return
- CapsLock & Down::
- MouseMove, , , , R
- return
- CapsLock & Left::
- MouseMove, -, , , R
- return
- CapsLock & Right::
- MouseMove, , , , R
- return
- CapsLock & ::
- send ,{PgUp}
- return
- CapsLock & ::
- send ,{PgDn}
- return
- CapsLock & u::
- send ,{backspace}
- return
- CapsLock & o::
- send ,{del}
- return
- ;如何选中光标当前字.就是模拟鼠标敲2下的操作.
- /*
- LCtrl & LShift::
- Send #{Space}
- return
- */
- /*
- linux下调试还是用gdb
- 还是用autohotkey来控制吧,没找到linux设置输入快捷键的方法
- */
- /*
- $+9:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, 30 ;只要跟剪贴板有关就必须设置这个参数
- t=%clipboard%
- clipboard=
- x=%clipboard%
- y=%clipboard%
- send {(}
- send {)}
- send {left}
- clipboard=%t%
- return
- */
- /*
- ^t::
- ime_status:=DllCall("GetKeyboardLayout","int",0,UInt) ;返回值的低位字包含了输入语言的语言标识符,高位字包含了键盘物理布局的句柄。
- msgbox, %ime_status%
- ;获取67699721这个输入法代码
- return
- */
- /*
- ^t::
- ime_status:=DllCall("GetKeyboardLayout","int",0,UInt)
- msgbox, %ime_status%
- ;获取67699721这个输入法代码和134481924
- return
- */
- /*注意dll的名字可能跟windowsapi里面名字不一样,0表示空指针,并且注释一定要把*斜杠单独写一样才行,挺bug
- */
- /*
- 调用windows Api .第一个参数是函数名,后面是type和参数值.
- ^t::
- DllCall("CreateDirectory", "Str", "dsaf",Ptr, 0)
- return
- */
- ;好想废了insert这个建的功能,但是没找到api,但是因为有些软件insert跟其他软件insert相反,所以还是保留着吧,
- ;如果找到了底层api能锁定上就好了
- switchime(ime )
- {
- if (ime = ){
- DllCall("SendMessage", UInt, WinActive("A"), UInt, , UInt, , UInt, DllCall("LoadKeyboardLayout", Str,"", UInt, ))
- }else if (ime = )
- {
- DllCall("SendMessage", UInt, WinActive("A"), UInt, , UInt, , UInt, DllCall("LoadKeyboardLayout", Str,, UInt, ))
- }else if (ime = "A")
- {
- ;ime_status:=DllCall("GetKeyboardLayout","int",,UInt)
- Send, #{Space}
- }}
- #f::
- If WinActive("Everything"){
- WinMinimize,A
- return
- }
- Run "C:\Program Files\Everything\Everything.exe"
- return
- #c::
- SetKeyDelay,
- If WinActive("管理员: C:\windows\SYSTEM32\cmd.exe") {
- switchime()
- WinMinimize,A
- return
- }
- If WinExist("管理员: C:\windows\SYSTEM32\cmd.exe")
- {
- WinActivate
- switchime() ;写在激活的后面才行.
- return
- }
- else
- {
- run, cmd
- switchime()
- a=%clipboard%
- sleep,
- MouseClick, left, A_ScreenWidth/, A_ScreenHeight/ ;居中点一下
- send,{enter} ;这个点一下操作会清空clipborad,重新赋值一下即可.简单
- clipboard=%a%
- return
- }
- return
- #a::
- SetKeyDelay,
- If WinActive("") {
- WinMinimize,A
- return
- }
- If WinExist(""){
- WinActivate
- return
- }
- else{
- run "C:\Users\zhangbo340\AppData\Roaming\360se6\Application\360se.exe"
- ;为了防止alt点开菜单栏
- return
- }
- return
- #q::
- SetKeyDelay,
- If WinActive("福昕阅读器") {
- WinMinimize,A
- return
- }
- If WinExist("福昕阅读器"){
- WinActivate
- return
- }
- else{
- run "C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe"
- ;为了防止alt点开菜单栏
- return
- }
- return
- #x::
- SetKeyDelay,
- If WinActive("笔记.txt") {
- WinMinimize,A
- return
- }
- If WinExist("笔记.txt"){
- WinActivate
- return
- }
- else{
- run D:\zhangbo340\Desktop\笔记.txt
- ;为了防止alt点开菜单栏
- WinActivate
- return
- }
- return
- ^u::
- SetKeyDelay,
- send, ^c
- x = %clipboard%
- StringUpper, x, x
- clipboard = %x%
- send, ^v
- return
- #z::
- SetKeyDelay,
- If WinActive("ahk_class Xshell6::MainFrame_0"){
- WinMinimize,A
- return
- }
- If WinExist("ahk_class Xshell6::MainFrame_0"){
- WinActivate
- switchime()
- }
- else{
- Run "C:\Program Files (x86)\NetSarang\Xshell 6\Xshell.exe"
- switchime()
- }
- return
- ; 切换至sougou 调用这个函数即可switchime()
- ; 切换至英文 调用这个函数即可 switchime()
- /*
- ;gc克隆代码
- */
- :*:;gc::
- SetKeyDelay,
- x=%clipboard%
- d=%x%
- clipboard=git clone %d%
- Send, +{Ins}
- sleep,0.01
- clipboard=%x%
- Send {enter}
- return
- /*
- 下面的^g是为了git命令写的,为了能回滚到之前任意一次提交,所以加入了tag标签,
- 如果tag里面标签内容重复,好像idea就不能保存状态,所以用一个当前时间作参数穿进去.
- 懒得自己写push了,也写上.
- */
- ^g::
- switchime()
- x=%clipboard%
- FormatTime, now_date, %A_Now%, yyyy-MM-dd ;格式化当前时间
- d=git add . && git commit -am "" &&git tag %A_Now%&&git push
- SetKeyDelay,
- clipboard = %d%
- Send +{insert}
- SetKeyDelay, 0.1
- Send {LEFT }
- return
- !g::
- run D:\zhangbo340\Desktop\个人信息.txt
- return
- ;通过if else已经完美的利用alt+x 启动笔记和最小化笔记,唤起笔记了.
- ;下面我要实现的功能是想在一段话左右加括号,只需要选中这段话之后按下shift+9就行.等号右边的变量需要加双%,其实还是有bug存在
- ;当剪贴板内容和选择内容相同时候有bug,所以如果你要复制一段话到一个新地方并且加上括号.就先复制话,然后输入括号再粘贴即可.顺序反了就出不来.目前只有这个一个bug
- CapsLock & n::SendInput {_}
- CapsLock & ,::SendInput {+}
- CapsLock & .::SendInput {=}
- ;用;p来替换书写经常不好使,因为输入多个字符替换可能会bug
- ; caplock表示右,ctrl+caplock切换大小写
- ;CapsLock::SendInput {Right} ;这样改就避免冲突了
- CapsLock & l::Send {Right}
- CapsLock & i::SendInput {up}
- CapsLock & j::SendInput {left}
- CapsLock & k::SendInput {down}
- CapsLock & y::send print(type()){left }
- CapsLock & h::Send {home}
- CapsLock::Send {right}
- CapsLock & `;::Send {end} ;加入`表示autohotkey里面的转义字符
- CapsLock & m::Send import{space}
- ;send最稳的写法是每次send一个字符
- !b::
- run D:\zhangbo340\Desktop\gapa.exe
- return
- CapsLock & r::send return{space}
- CapsLock & ::send ^{Backspace}
- CapsLock & ::send ^{del}
- CapsLock & e::send exit(){enter}
- CapsLock & c::send continue
- SetWinDelay,
- #ClipboardTimeout
- ;这个版本已经基本修复了输入括号等shift与切换中英文输入法之间的冲突
- #s::Suspend ; 给一个热键指定挂起的开关功能。
- CapsLock & t::send
- CapsLock & f::send
- CapsLock & b::
- send,break
- return
- !p::
- IfWinExist, 无标题 - 画图 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.;这样写就控制了程序开关.
- {
- WinClose
- return
- }
- else
- {
- run mspaint
- return
- }
- !j::run calc
- :*:;m::@.com
- ^NumpadAdd::SoundSet , +, WAVE
- ^NumpadSub::SoundSet , -, WAVE
- F3::
- SetKeyDelay,
- x=%clipboard%
- d=.append()
- clipboard=%d%
- Send ^v
- sleep,0.01
- Send, {Left}
- clipboard=%x%
- return
- F4::
- SetKeyDelay,
- x=%clipboard%
- SetKeyDelay,
- d=''''''
- clipboard=%d%
- Send ^v
- sleep,0.1 ; 貌似可以防止剪贴板粘贴错误
- clipboard=%x%
- send {left }
- send {enter}
- send {enter}
- send {up}
- return
- $^v::
- tmp1=%clipboard%
- asdf:==RegExMatch(tmp1, "————————(.*)\r\n版权声明(.*)\r\n原文链接:(.*)")
- If %asdf%
- {
- send, ^v
- return
- }
- else
- {
- tmp1 := RegExReplace(tmp1, "————————(.*)\r\n版权声明(.*)\r\n原文链接:(.*)", "")
- clipboard=%tmp1%
- send,^v
- return
- }
- ;使用方法是输入,xun然后空格
- :*:lsit::list
- :*:braek::break
- :*:berak::break
- :*:,rr::return{space}
- :*:dfe::def
- :*:retrun::return
- :*:retunr::return
- :*:calss::class
- :*:slef::self
- :*:slfe::self
- :*:apend::append
- :*:appedn::append
- :*:contiune::continue
- :*:contnue::continue
- ;下面为了java扩充的:
- CapsLock & s::
- SetKeyDelay,
- x=%clipboard%
- d=System.out.println();
- clipboard=%d%
- Send ^v
- sleep,0.01
- Send, {Left }
- clipboard=%x%
- return
- :*:'::
- SetKeyDelay,
- x=%clipboard%
- d=''
- clipboard=%d%
- Send ^v
- Send {Left}
- sleep,0.01
- clipboard=%x%
- return
- :*:;d::
- SetKeyDelay,
- sleep ,
- x=%clipboard%
- sleep ,
- FormatTime, d, LongDate,yyyy-MM-dd,H点mm
- sleep ,
- clipboard = %d%
- sleep ,
- Send ^v
- sleep,
- clipboard=%x%
- return
- ;下面添加sql快捷键
- :*:;sql::
- switchime()
- x=%clipboard%
- d=select * from ();
- SetKeyDelay,
- clipboard = %d%
- SetKeyDelay,
- Send ^v
- Send {LEFT }
- Send {ENTER }
- Send {UP}
- clipboard=%x%
- return
- /*自动复制搜索
- */
- CapsLock & p::send print(){left}
- #IfWinActive Xshell ;这句话表示在shell里面这里面的语句才有效,但是为什么其他快捷键都失效,当shell时候?
- ;起始很简单,只需要把这个If挂载的代码写在最后即可.这样在判断之前前面的快捷键已经都生效了.
- ;因为xshell里面粘贴是shift+insert所以也给他改成ctrl+v
- :*:;cm::cmake .&&make{enter}
- :*:;ls::lsof -i:
- ^b::^b
- return
- ;vim改建 用于快速保存或者关闭vim文件.
- ^q::
- send,{Esc}
- switchime( )
- send,:q+
- send,{enter}
- send,{enter}
- return
- ^s::
- send,{Esc}
- switchime( )
- send,:x
- send,{enter}
- send,{enter}
- return
- ;超级find命令
- :*:;f::find / -name {space}
- return
- #IfwinNotActive , ahk_group DisableBracketAuto
- ;Edit_GetSel Gets the starting and ending character positions of the current selection in an edit or rich edit control. You can use this macro or send the EM_GETSEL message explicitly.
- ;https://docs.microsoft.com/zh-cn/windows/win32/controls/em-getsel
- ;ime_status:=DllCall("SetClipboardData","int",CF_UNICODETEXT,UInt)
- ^y::
- m :=
- n :=
- ;n1:=DllCall("EM_GETSEL")
- n1:=DllCall("EM_GETSEL",Ptr,,Ptr,)
- ;n1:=DllCall("EM_GETSEL")
- oo:=&n
- mm:=&m
- tt:=*m
- tt2:=*oo
- msgbox, %n1%,%n1%,,%n%,%m%,%oo%,%mm%,%tt%,%tt2%
- return
- ^::
- m=
- MyVar=ooo
- MyVar2:=DllCall("CharUpper", Ptr, &MyVar)
- msgbox, %MyVar%
- return
- ;注意要删除pycharm 里面 copy 的 ctrl+insert这个快捷键.
- ;然后开启pycharm自带的补全.
- $+:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard=
- sleep,
- send , ^{insert}
- sleep,
- x=%clipboard%
- y=%clipboard%
- send +
- send +
- sleep,
- send {left}
- sleep,
- send , ^v
- clipboard=%SaveOldData%
- return
- $+[:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- send , ^{insert}
- x=%clipboard%
- y=%clipboard%
- send {{}
- send {}}
- send {left}
- sleep,
- send , ^v
- clipboard=%SaveOldData%
- return
- $[:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- send , ^{insert}
- x=%clipboard%
- y=%clipboard%
- send {[}
- send {]}
- send {left}
- sleep,
- send , ^v
- clipboard=%SaveOldData%
- return
- $':: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- send , ^{insert}
- x=%clipboard%
- y=%clipboard%
- send {'}
- send {'}
- send {left}
- sleep,
- send , ^v
- clipboard=%SaveOldData%
- return
- $":: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- send , ^{insert}
- x=%clipboard%
- y=%clipboard%
- send {"}
- send {"}
- send {left}
- sleep,
- send , ^v
- clipboard=%SaveOldData%
- return
- #IfWinActive Xshell
- ^v::send,+{insert}
- return
- ^b::
- run http://www.baidu.com/
- return
- ;ime_status:=DllCall("GetClipboardData","int",CF_UNICODETEXT,UInt)
- $+:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- clipboard= ;必须强制手动清空剪贴板
- x=%clipboard%
- y=%clipboard%
- send +
- send +
- send {left}
- sleep,
- return
- $+[:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- x=%clipboard%
- y=%clipboard%
- send {{}
- send {}}
- send {left}
- sleep,
- clipboard=%SaveOldData%
- return
- $[:: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- x=%clipboard%
- y=%clipboard%
- send {[}
- send {]}
- send {left}
- sleep,
- clipboard=%SaveOldData%
- return
- $':: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- x=%clipboard%
- y=%clipboard%
- send {'}
- send {'}
- send {left}
- sleep,
- clipboard=%SaveOldData%
- return
- $":: ;因为这个shift跟输入法的冲突至今还没解决,只能进入搜狗输入法把切换中英文改成ctrl即可.
- SetKeyDelay, ;只要跟剪贴板有关就必须设置这个参数
- SaveOldData=%clipboard%
- clipboard= ;必须强制手动清空剪贴板
- x=%clipboard%
- y=%clipboard%
- send {"}
- send {"}
- send {left}
- sleep,
- clipboard=%SaveOldData%
- return
- #IfWinActive pycharm
- ^F1::
- SetKeyDelay,
- x=%clipboard%
- d=for i in range(len()):
- clipboard=%d%
- Send ^v
- sleep,0.01
- Send, {Left }
- clipboard=%x%
- return
- F1::
- SetKeyDelay,
- x=%clipboard%
- d=for i in :
- clipboard = %d%
- Send ^v
- Send {LEFT }
- Send {space}
- clipboard=%x%
- return
- #IfWinNotActive pycharm
- ^F1::
- SetKeyDelay,
- x=%clipboard%
- d=for i in range(len()):
- clipboard=%d%
- Send ^v
- sleep,0.01
- Send, {Left }
- clipboard=%x%
- return
- F1::
- SetKeyDelay,
- x=%clipboard%
- d=for i in :
- clipboard = %d%
- Send ^v
- Send {LEFT }
- clipboard=%x%
- return
分享一波目前写的最强的autohotkey 插件的更多相关文章
- 写了一篇关于 FastAdmin 插件路由的分析文章
写了一篇关于 FastAdmin 插件路由的分析文章 插件路由演示 ThinkPHP 的路由就像是整个应用的调度室,让你的应用 url 更友好,而且让应用更安全,不会让真实的地址暴露出去. 了解过 L ...
- 写了一个迷你toast提示插件,支持自定义提示文字和显示时间
写了一个迷你toast提示插件,支持自定义提示文字和显示时间,不想用其他第三方的ui插件,又想要toast等小效果来完善交互的同学可以试试, 代码中还贡献了一段css能力检测js工具函数,做项目的时候 ...
- 从0开始写一个简单的vite hmr 插件
从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...
- 原来你一直写错了?!实力分享一波 CSS 使用的书写规范顺序与偏门又实用的样式...
我们在埋头写代码的时候,还要学会收集整理一些常用的代码小技巧,以便在工作时候,可以及时调取,提高工作效率. 今天,我把之前收集整理的一些CSS代码小技巧分享出来,供你参考学习,希望对你有帮助. 一.C ...
- 分享一个的c++写的,模仿awk的框架类CAwkDoc
这是我好多年前,模仿awk写的. awk大家都比较熟悉,使用awk处理文件,读取文件,分割字段这些工作awk自己帮你实现了. 程序员只要编写业务逻辑代码,并且awk还提供了很多常用的字符串操作函数,可 ...
- 秋招已过,各大厂的面试题分享一波 附C++实现
数据结构和算法是面试的一座大山,尤其去面试大厂更是必不可少!简单说明一下为啥喜欢考数据结构和算法,首先,算法有用也没用,如果是中小型企业的简单业务逻辑,可能用不到啥算法,但大厂一定会用到,都知道数据库 ...
- [原创]分享本人自己PY写的BOOST编译程序(源码)
本程序WINDOWS专用,只做抛砖引玉,希望诸位按照各自需求自行修改,主要目的是为了让诸位编译时可以省一些组合指令的时间,只需要修改几个参数即可自动编译. 支持64位编译模式. 改进版本:http:/ ...
- 干货分享:想要写好Proposal,这四个问题必须解决
当大家确定了毕业论文选题之后,下一步就是着手写开题报告,也就是proposal.开题报告或者说是研究计划要回答四个问题:为什么这个问题重要,为什么这个问题很难解决,为什么现在要考虑解决这个问题,为什么 ...
- 干货分享|留学Essay怎么写?
留学生活其实就是分割成一个个deadline,留学就是赶完一个又一个deadline.朋友同学的革命情感源自赶一个个deadline时候的不离不弃,相知相守,无数个夜里大家群里打卡,你今天Essay写 ...
随机推荐
- 华为eNSP上的NAT地址转换配置
NAT是将IP数据报文报头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能. 1.实验拓扑 地址表: 1.完成各个接口基本配置之后使用pi ...
- HttpClient的几种请求方式
public static String doPostToken(String tokenUrl,String clientId,String clientSecret,String grantTyp ...
- java读写cookie中文乱码解决方法
1.写入的时候: public boolean addCookie( HttpServletRequest req, HttpServletResponse resp){ //创建 Cookie co ...
- PAT(B) 1020 月饼(Java)
题目链接:1020 月饼 (25 point(s)) 分析 将月饼(库存量,总售价,单价)封装成MoonCake类 Scanner会超时,用BufferedReader类读取数据 读取的时候用字符串数 ...
- 【百度之星2019】Strassen
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6719 在本题中,我们只有两种方法计算两个的矩阵的乘积,第一种为定义法,需要次乘法和次加法.第二种为 ...
- 使用Struts2实现图片上传和拦截器
今天来分享一个图片上传 现在很多小项目里面基本上都有要显示图片的功能,所以呢图片上传是基本要掌握的啦 一般的图片上传原理就是从本地选择一张图片然后通过io流发布到服务器上去 上传方案基本有三种: 1. ...
- prometheus+grafana监控redis
prometheus+grafana监控redis redis安装配置 https://www.cnblogs.com/autohome7390/p/6433956.html redis_export ...
- Spring 后台方法 重定向 与 转发
一.重定向:重定向是客户端行为,在使用时,务必使用全路径,否则可能因为外部环境导致错误 1.URL改变为重定向的URL地址 2.前台页面不能使用Ajax请求提交, 应该使用form表单提交 方法一.参 ...
- linux 下phpmyadmin 安装
系统 parrot os(Debain) php7.0 安装phpmyadmin sudo apt install phpmyadmin 然后将/usr/shar/phpmyadmin软连至/va ...
- 记录在苹果X手机上运行遇到的代码Dom被阻塞不更新的一个坑
一.问题产生背景: 开发支付功能,代码逻辑如下:点击支付后,请求后台接口得到流水号以及第三方支付台链接,跳转支付台(在苹果手机则是弹出支付台层):支付完毕后返回支付页面,或中途退出支付台返回支付页面: ...