[关闭]
@jeffjade 2016-03-12T10:04:38.000000Z 字数 4191 阅读 2986

Win下最爱效率神器:AutoHotKey

Toss


AutoHotkey是一个windows下的开源、免费、自动化软件工具。它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言。但你不需要把它想得太深,你只需要知道它可以简化你的重复性工作,一键自动化启动或运行程序等等;以此提高我们的工作效率,改善生活品质;通过按键映射,鼠标模拟,定义宏等。

图片来自:zoommyapp.com

下载安装AutoHotkey

在浏览器中输入网址 http://www.autohotkey.com/ 进入AutoHotkey的官网,点击“download”下载即可将AutoHotkey保存到本地磁盘。接着双击点击安装就可以了。

建立AutoHotkey脚本

安装完成后默认会在系统盘的“本地文档”下创建一个"AutoHotkey.ahk"脚本,双击以后我们会看到任务栏右下角有个图标,就表示它在运行了[如下图标注处所示]。我们在里面写入相应的映射代码然后右击选择"reload this script"执行它就可以开始使用AutoHotkey里面设置好的功能了。
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之风,可以自我定制(当然啦,后者还是强大太多)。所以可以说,她强大与否,在于使用者的你爱或者不爱折腾。学以致用,如果简单的折腾下,可以使得我们工作效率大幅提升,何乐不为?况且,在见识的增长上,这可以给我们思维带来极大的营养。以下是笔者常用功能的脚本配置:

极速打开网页

  1. ;Notes: #==win !==Alt 2015-05-20 ^==Ctr +==shift
  2. ;=========================================================================
  3. #j::Run www.jeffjade.com
  4. #b::Run https://www.baidu.com/
  5. #c::Run https://www.google.com/
  6. #y::Run http://www.cnblogs.com/jadeboy/
  7. #0::Run https://tinypng.com/
  8. #v::Run https://www.v2ex.com/
  9. ;-------------------------------------------------------------------------

这是特常用的功能;如上脚本,Win+J即可打开自己小站,Win+0则打开熊猫网址去压缩图片。不管pc焦点何在,使用自己配置的快捷键,即可达到所想,方便而快捷,大慰我心。网上冲浪,自然选取了Chrome,配之以Vimium插件Vimium~让您的Chrome起飞,分分钟甩掉鼠标;生命聊聊不过百年,如此短暂,在鼠标经常性滑过去来做一些可以更高便捷的事儿,所不必要消耗的一秒半秒,我没那么慷慨。

便捷呼出程序

  1. !n::run notepad
  2. !c::run, D:\SoftwareKit\_jade_new_soft\cmd_markdown_win64\Cmd Markdown.exe
  3. !r:: run, D:\SoftwareKit\_jade_new_soft\cmder_mini\Cmder.exe
  4. !q::run, D:\Program Files (x86)\Tencent\QQIntl\QQUninst.exe
  5. !space::run, D:\Program Files (x86)\Sublime Text 3\sublime_text.exe
  6. ;==========================================================================

以上为Alt外加一些键来打开本地应用程序。即便完全可以自己配置热键,但是一旦多了,不常用的话记起来也略显麻烦。所以选择Alt键组合来打开本地应用程序。Win键来呼出网页。在有了Launchy这类软件之后,也就不怎么过为本地程序配置快捷键了。

之前一段时间认为,珍爱生命,就当远离Windows。在给其配了SSD硬盘,在不断折腾应用一些软件,在不断了解&熟悉Windows之后,这一想法倒也缓和了不少。Windows下的AutoHotKey + Listary + Launchy 组合,倒也有了点Mac下 Alfred2免费功能部分。这一点在Windows下效率必备软件中有过记载。

一键拷贝文件路径

  1. ^+c::
  2. ; null=
  3. send ^c
  4. sleep,200
  5. clipboard=%clipboard% ;%null%
  6. tooltip,%clipboard%
  7. sleep,500
  8. tooltip,
  9. return

只需要Ctrl+shift+c即可拷贝文件路径;方便快捷,爽!。

改掉大写键为Enter

  1. ;replace CapsLock to LeftEnter; CapsLock = Alt CapsLock
  2. $CapsLock::Enter
  3. LAlt & Capslock::SetCapsLockState, % GetKeyState("CapsLock", "T") ? "Off" : "On"
  4. !u::Send ^c !{tab} ^v

看网上朋友说CapsLock(大写切换按键)没怎么大用处;想来也是,个人每次需要输入大写字符,也是配合Shift来实现。那么此按键意义何在?那就改成Enter键好了。有时候右手需要操纵鼠标时候,左手小拇指按此键来实现换行,蛮好;既然大写切换不怎么常用,那么用Alt+CapsLock来组合实现也无不妥;以上脚本即为此意。

缩写快速打出常用语

  1. ::/mail::gmail@gmail.com
  2. ::/jeff::http://www.jeffjade.com/
  3. ::/con::console.log();
  4. ::/js::javascript:;
  5. ::/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

  1. ;颜色神偷==================================================
  2. ^#c::
  3. ;配置ctr+win+c按键
  4. MouseGetPos, mouseX, mouseY
  5. ; 获得鼠标所在坐标,把鼠标的 X 坐标赋值给变量 mouseX ,同理 mouseY
  6. PixelGetColor, color, %mouseX%, %mouseY%, RGB
  7. ; 调用 PixelGetColor 函数,获得鼠标所在坐标的 RGB 值,并赋值给 color
  8. StringRight color,color,6
  9. ; 截取 color(第二个 color)右边的6个字符,因为获得的值是这样的:#RRGGBB,一般我们只需要 RRGGBB 部分。把截取到的值再赋给 color(第一个 color)。
  10. clipboard = %color%
  11. ; color 的值发送到剪贴板
  12. return
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注