迫于没钱,在公司用mac,在家用windows,需要 统一快捷键体验
主要需求是,我希望能在windows上统一到mac的快捷键体验,因为主力使用机子还是用mac,而且主观印象上似乎windows可定制性更强,而且mac的快捷键设置我认为更人性化;比如windows的常用辅助快捷键是ctrl,需要小拇指伸到键盘的左下角去按很累,但是日常使用键盘其实左手大拇指是默认贴合在space和alt键附近的,所以我认为把常用辅助快捷键设置成alt比较好;
方案一:直接交换alt和ctrl按键(舍弃)
这种方法很简单,网上也有很多实现的教程,比如写个脚本直接跑一下就修改了,但是缺点有几个:
- 部分时候其实windows上的alt快捷键的组合也很有用,比如alt+tab切换应用比较方便,但是ctrl+tab一般是应用内置的切换tab,这点是硬伤
- 如果有其他人使用本机,快捷键修改之后会很不方便,这点也算是硬伤(bushi)
- 系统侵入性比较强
- 个人有部分使用secureCRT连设备的需求,经常用到linux下的快捷键比如ctrl+a到行首,换成alt+a不习惯
综合考虑上面几点,方案一被舍弃
方案二:直接映射常用快捷键(选用)
这里我认真思考了自己的需求,其实我也没那么多记得住的快捷键,比如就cmd+c复制, cmd+v粘贴, cmd+w关窗口, cmd+q 关app,cmd+s保存,cmd+x剪切这些,完全可以仅仅只修改这些快捷键即可,如果有其他非常强烈需求的快捷键,再加进去;
所以思路就是直接映射常用快捷键,但是并没有找到非常简单好用的软件,正好此时发现了PowerToys,里面可以直接remap shortcuts,但是截至2020/08/03,这个功能经我测试在v0.20.0处于一个完全不能用的状态,顺便说一句,其中的PTRun功能也完全不如wox;
所以寻求到了autohotkey这款软件;
简单学习了一下脚本写法,写了一小段常用快捷键的脚本,设置开机启动,至此基本完美满足了我统一windows和mac下快捷键的需求,如果有其他需求也可以照例改脚本;
$!c::
Send {Ctrl Down}{c}{Ctrl Up}
Return
$!x::
Send {Ctrl Down}{x}{Ctrl Up}
Return
$!v::
Send {Ctrl Down}{v}{Ctrl Up}
Return
$!a::
Send {Ctrl Down}{a}{Ctrl Up}
Return
$!s::
Send {Ctrl Down}{s}{Ctrl Up}
Return
$!w::
Send {Ctrl Down}{w}{Ctrl Up}
Return
$!z::
Send {Ctrl Down}{z}{Ctrl Up}
Return
考虑到windows下alt+F4基本都是强退app,没有二次确认(在mac上我主要使用的app比如qq和chrome都设置了二次确认),如果改成alt+Q之后可能误操作会很多,所以这里有所保留;
该方案有一些好处
- ※保留了原有的windows快捷键
- ※在切换tab上保留了和mac统一的体验,alt+tab切换app,ctrl+tab切换app内的tab
- 可定制性强
- 对系统侵入性小,而且依赖的第三方软件AutoHotkey占用内存很小
- 解放了憋屈的小拇指