通过AutoHotkey实现按住Capslock键+鼠标滚轮上/下/中键将选中字符中的字母全部转换成【大写 / 小写 / 首字母大写】

        最近看到这个Everything插件GitHub - Chaoses-Ib/IbEverythingExt: Everything 拼音搜索、快速选择扩展Everything 拼音搜索、快速选择扩展. Contribute to Chaoses-Ib/IbEverythingExt development by creating an account on GitHub.https://github.com/Chaoses-Ib/IbEverythingExt#%E9%85%8D%E7%BD%AE,实现了简拼和全拼的拼音搜索,然后就想,反正大部分时候都用拼音搜索了,那如果能everything打开默认是英文输入法不是方便很多?结果找到了AHK这个神奇的软件,实现了这个功能,感谢“步子大了吧

在Win10下使用AutoHotKey为软件指定默认输入法_步子大了吧的博客-CSDN博客https://blog.csdn.net/wangpeng246300/article/details/106109720        我按着这个教程成功让Everything打开默认就是英文输入法,解决了一个问题,原博写的是Win10下(话说Win 10好像自带有这个功能来着?),我Windows 7 64位下用AutoHotKey V1是可以实现的。设置完Everything以后其他比较常用的软件我也给指定了默认的输入法,这样就省了好多切换输入法的时间。

        然后又偶尔会遇到输入法在大写状态,打了几个字母以后又要切换到小写删掉重新输入,想着既然可以指定输入法,那能不能再来个指定大小写呢?搜索良久,没有找到解决办法,又想到之前看到的smartcapslock这个软件

SmartCapsLock (door2windows.com)https://www.door2windows.com/smartcapslock/        但之前下载安装就运行不了,然后想说,有没有可能用AutoHotKey可以实现类似的先输入再改大小写呢?如果能实现,也不错啊。

       继续搜索,看到了这个,感谢“liuyukuan

[AHK]将选中字符中的字母全部转换成【大写 / 小写 / 首字母大写】_liuyukuan的博客-CSDN博客https://blog.csdn.net/liuyukuan/article/details/54584035?ops_request_misc=&request_id=&biz_id=102&utm_term=AutoHotKey%20%20%E9%BB%98%E8%AE%A4%20%E5%A4%A7%E5%86%99&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-54584035.142%5Ev42%5Enew_blog_pos_by_title,185%5Ev2%5Econtrol       试了下,果然是可以的,但有个问题,他原来的是采用F7 F8 F9这三个按键来实现的,我这三个按键已经通过另外一个软件,改为了“剪切,复制和粘贴”,用了好多年了不想改这个习惯,所以我就想,用哪三个键代替呢?作为一个快捷键(+快捷操作)狂人,能利用的键好像所剩无几了……

        又想到我用了好多年的切换音量的方式,用3RVX设置了快捷键Alt+鼠标滚轮上/下实现音量的加减,那不如就设为按住Capslock键加鼠标滚轮上下实现切换至全部大写/全部小写,然后还有个鼠标中键,可以用来设置为切换到首字母大写(这个比较不常用,刚好我也不太爱按鼠标中键)

        然后问题来了,我不会代码……

        大写键是啥,鼠标滚轮,中键又是啥搜索了一下,找到陈浩learning写的这个autohotkey鼠标滚轮_陈浩learning的博客-CSDN博客_autohotkey 滚轮,里面刚好有,然后再查了下Autohotkey的按键列表

        最后让我做到了,代码如下:

;tmplinshi
; 功能: 切换选中文字大小写
; 参数: Mode - 可以为 L (小写)、U (大写)、T (首字母大写)
;~ 兼容autohotkey 2.0

;sunwind
;~ http://blog.csdn.net/liuyukuan/article/details/54584035
;~ 增加连字符支持windows-vista

CapsLock & WheelDown::SwitchSelCase("L") ; 选中文字切换为小写
CapsLock & WheelUp::SwitchSelCase("U") ; 选中文字切换为大写
CapsLock & MButton::SwitchSelCase("T") ; 选中文字切换为首字母大写

f10::
param=%1%
SwitchSelCase(param)
return
SwitchSelCase(Mode) {

	clipBak := ClipboardAll ; 备份剪贴板
	Clipboard := "" ; 清空剪贴板

	Send, ^c ; 发送 ctrl+c 复制选中文字
	ClipWait, 1 ; 等待复制完毕
	selText := Clipboard

        Loop, Parse, selText, %A_Space%_`,|;-!`.
	{
		; 计算在这个字段末尾分隔符的位置.
		Position += StrLen(A_LoopField) + 1
		; 获取解析循环中找到的分隔符.
		Delimiter := SubStr(selText, Position, 1)
		str1:= Format("{:" Mode "}", A_LoopField)
		out:=out . str1 . Delimiter
	}
	Clipboard :=out
	ClipWait, 1
	Send, ^v
	Sleep, 500 ; 防止没有粘贴完毕剪贴板就被恢复了
	Clipboard := clipBak ; 恢复剪贴板
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值