@jeffjade
2016-03-12T18:04:38.000000Z
字数 4191
阅读 3060
Toss
AutoHotkey是一个windows下的开源、免费、自动化软件工具。它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言。但你不需要把它想得太深,你只需要知道它可以简化你的重复性工作,一键自动化启动或运行程序等等;以此提高我们的工作效率,改善生活品质;通过按键映射,鼠标模拟,定义宏等。
在浏览器中输入网址 http://www.autohotkey.com/ 进入AutoHotkey的官网,点击“download”下载即可将AutoHotkey保存到本地磁盘。接着双击点击安装就可以了。
安装完成后默认会在系统盘的“本地文档”下创建一个"AutoHotkey.ahk"脚本,双击以后我们会看到任务栏右下角有个图标,就表示它在运行了[如下图标注处所示]。我们在里面写入相应的映射代码然后右击选择"reload this script"执行它就可以开始使用AutoHotkey里面设置好的功能了。
如果我们想在其他地方放置脚本怎么办呢?很简单,只要新建一个文本文档,将其后缀名改为.ahk然后执行它就行了。所以,在同一台电脑中,你甚至可以存放多个脚本。当用不到该脚本了只需要,鼠标移到该图标处,右键选择exit即可,很是方便。
为了方便修改该脚本,你可以将其放置于你觉得方便的位置,丝毫不影响,双击可运行之。我们还可以为该脚本设置开机自启动,只需要将该脚本生成一个“快捷方式”,然后将此快捷方式放置到程序自启动文件夹之下即可,一般都在这儿:
C:\ProgramData\Microsoft\Windows\StartMenu\Programs\StartUp
如此一开机,就可以使用脚本配置,大为便捷。
这里简单说明下脚本中符号代表的含义:
# 号代表 Win 键;
! 号代表 Alt 键;
^ 号代表 Ctrl 键;
+ 号代表 shift 键;
:: 号(两个英文冒号)起分隔作用;
run,非常常用 的 AHK 命令之一;
; 号代表 注释后面一行内容;
run它的后面是要运行的程序完整路径(比如我的Sublime的完整路径是:D:\Program Files (x86)\Sublime Text 3\sublime_text.exe)或网址。为什么第一行代码只是写着“notepad”,没有写上完整路径?因为“notepad”是“运行”对话框中的命令之一。
AutoHotKey的强大,有类似Mac下的Alfred2之风,可以自我定制(当然啦,后者还是强大太多)。所以可以说,她强大与否,在于使用者的你爱或者不爱折腾。学以致用,如果简单的折腾下,可以使得我们工作效率大幅提升,何乐不为?况且,在见识的增长上,这可以给我们思维带来极大的营养。以下是笔者常用功能的脚本配置:
;Notes: #==win !==Alt 2015-05-20 ^==Ctr +==shift
;=========================================================================
#j::Run www.jeffjade.com
#b::Run https://www.baidu.com/
#c::Run https://www.google.com/
#y::Run http://www.cnblogs.com/jadeboy/
#0::Run https://tinypng.com/
#v::Run https://www.v2ex.com/
;-------------------------------------------------------------------------
这是特常用的功能;如上脚本,Win+J即可打开自己小站,Win+0则打开熊猫网址去压缩图片。不管pc焦点何在,使用自己配置的快捷键,即可达到所想,方便而快捷,大慰我心。网上冲浪,自然选取了Chrome,配之以Vimium插件Vimium~让您的Chrome起飞,分分钟甩掉鼠标;生命聊聊不过百年,如此短暂,在鼠标经常性滑过去来做一些可以更高便捷的事儿,所不必要消耗的一秒半秒,我没那么慷慨。
!n::run notepad
!c::run, D:\SoftwareKit\_jade_new_soft\cmd_markdown_win64\Cmd Markdown.exe
!r:: run, D:\SoftwareKit\_jade_new_soft\cmder_mini\Cmder.exe
!q::run, D:\Program Files (x86)\Tencent\QQIntl\QQUninst.exe
!space::run, D:\Program Files (x86)\Sublime Text 3\sublime_text.exe
;==========================================================================
以上为Alt外加一些键来打开本地应用程序。即便完全可以自己配置热键,但是一旦多了,不常用的话记起来也略显麻烦。所以选择Alt键组合来打开本地应用程序。Win键来呼出网页。在有了Launchy这类软件之后,也就不怎么过为本地程序配置快捷键了。
之前一段时间认为,珍爱生命,就当远离Windows。在给其配了SSD硬盘,在不断折腾应用一些软件,在不断了解&熟悉Windows之后,这一想法倒也缓和了不少。Windows下的AutoHotKey + Listary + Launchy 组合,倒也有了点Mac下 Alfred2
免费功能部分。这一点在Windows下效率必备软件中有过记载。
^+c::
; null=
send ^c
sleep,200
clipboard=%clipboard% ;%null%
tooltip,%clipboard%
sleep,500
tooltip,
return
只需要Ctrl+shift+c即可拷贝文件路径;方便快捷,爽!。
;replace CapsLock to LeftEnter; CapsLock = Alt CapsLock
$CapsLock::Enter
LAlt & Capslock::SetCapsLockState, % GetKeyState("CapsLock", "T") ? "Off" : "On"
!u::Send ^c !{tab} ^v
看网上朋友说CapsLock(大写切换按键)没怎么大用处;想来也是,个人每次需要输入大写字符,也是配合Shift来实现。那么此按键意义何在?那就改成Enter键好了。有时候右手需要操纵鼠标时候,左手小拇指按此键来实现换行,蛮好;既然大写切换不怎么常用,那么用Alt+CapsLock来组合实现也无不妥;以上脚本即为此意。
::/mail::gmail@gmail.com
::/jeff::http://www.jeffjade.com/
::/con::console.log();
::/js::javascript:;
::/fk::轩先生这会子肯定在忙,请骚后。thx。祝君:天天开心,日日欣悦。
AutoHotKey一个很强大之处,在任何能正常显示 unicode字符的程序中(比如浏览器的地址栏、MS Word Rtx);如以上代码,键入jeff
后,再加空格、或 tab、或回车,就可以触发缩写;根据输入不同方式(空格,tab,回车)输出的内容后也相应附加了【空格/tab/回车,用起来很是舒爽。
折腾是奔着实用才去做的,所以笔者也只是看下可以常用功能而已。其实AutoHotKey远不止如此;AutoHotkey 学习指南这里可见一斑。网络上也可以搜出AutoHotKey 懒人包,里面有二十余脚本,如:“计时器”,“禁止Win键”,“秒杀窗口,左键加右键”云云;需要的话下载即可使用;知乎有一专栏取消关注AutoHotkey 之美,粗略扫了下,算是一可以扩充见识之门,有兴趣更多了解AutoHotKey的朋友们,可参看下。
AutoHotKey定有很多好用的功能,此文仅作简单介绍,抛砖以引美玉。希望知道更多有用玩法的朋友可以慷慨分享,让我等Coder效率可以提一提,节省那么些时间:去学习,去把妹(/泡哥),去享受生活。如果可以,也殷切希望,以此篇介绍给不怎么爱折腾的朋友带来一点参考。王小波在《思维的乐趣》中引用罗素一言:「须知参差多态,乃是幸福的本源」;如果您不喜欢折腾,这里并无勉强之意;生活之事,快乐就好。
最后自荐简书一专题《折腾之美》:工欲善其事,必先利其器。大道至简:因为折腾,所以简洁;为爱折腾的你而生,欢请你的入盟(专题起源可参见折腾之美-序)。
-----2016-03-11晚---于深圳------
温馨提示: 系统默认的 Win 快捷键:
Win + E:打开资源管理器;
Win + D:显示桌面;
Win + F:打开查找对话框;
Win + R:打开运行对话框;
Win + L:锁定电脑;
Win + PauseBreak:打开系统属性对话框
如果你想按下“Ctrl + Alt + Shift + Win + Q”(这个快捷键真牛×。- -b)来启动 QQ 的话,可以这样写:^!+#q::run D:\qq\qq.exe
;颜色神偷==================================================
^#c::
;配置ctr+win+c按键
MouseGetPos, mouseX, mouseY
; 获得鼠标所在坐标,把鼠标的 X 坐标赋值给变量 mouseX ,同理 mouseY
PixelGetColor, color, %mouseX%, %mouseY%, RGB
; 调用 PixelGetColor 函数,获得鼠标所在坐标的 RGB 值,并赋值给 color
StringRight color,color,6
; 截取 color(第二个 color)右边的6个字符,因为获得的值是这样的:#RRGGBB,一般我们只需要 RRGGBB 部分。把截取到的值再赋给 color(第一个 color)。
clipboard = %color%
; 把 color 的值发送到剪贴板
return