
概要介绍
经过长时间的电脑的使用,我渐渐的喜欢上了autohotkey这个神器,喜欢Python是因为Python非常的强大,喜欢AHK则是因为这个可以给我的平常生活带来太多的方便。
长时间的使用,毕竟也积攒了一些脚本,加上对很多脚本的收集以及修改,勉强算得上是一个入门的AHK菜鸟了。
AHK的优点可以对快捷键进行编程,对一个经常使用电脑自动化处理一些事情的人说,非常之方便,但缺点,太多,效率低,语法乱,数据结构乱。让我写一段文字处理简直就让我非常难受。
但为了取长补短,我仅仅使用其中的对快捷键编程的功能,加上收集来的别人的一些函数。修改集成,然后做一个顺手的AHK脚本,名字就叫做Chorthotkey。开源,协议选择Mit协议。简而言之也就是你改了名字版权就是你的了。
我在编写这篇文章的时候,也在重构并进行V0.4版本的完善。
但是先讲讲什么使用AHK编写的脚本比较好。
作为一个经常使用电脑的人,什么时候我们应该使用AHK?
我觉得是,当这个功能不值得用另一个大的软件代替的时候,或者快捷键编程的时候。
先说第一点:当我想使用一个功能的时候,比如快速打开一个网页,或者进行文字上的简单处理,这个时候就没有必要单独下载一个软件进行处理,这个在AHK中就是简单的几行代码就可以搞定。
比如打开网站直接 Run www.baidu.com AHK就会直接调用相关浏览器打开baidu.这么简单的东西没有必要单独下载一个软件进行管理。
再说第二点:当我想着对快捷键进行编程调用进行自动化处理东西的时候,或者编写一套自己的热键用来打游戏或者其他的一些编辑用途等等,都可以。理论上来说,AHK几乎是只有想不到没有做不到的。
那么,AHK不能替代什么东西?
在文件管理方面,尽管你可以自己编写很多的快捷键,但你没有办法超越TotalCMD,没有办法超越Listary或者Everything,所以,你编写的东西只需要辅助你使用这些东西就好了。
在文本编辑方面,你始终无法超越sublime text 3,无法超越vi,无法超越Emacs,你只需要辅助你使用这些工具即可。
同理。
既然说了AHK那么多的不足和缺憾,但是AHK在我的脚本语言中依然傲立第二名,就是因为它擅长的快捷键编程。
好了,废话这么多,总该说点干货了。下面是三个脚本
- Candy 一个非常强大的第三方弹出菜单amii编写。
- ChortHotKey 一个我编写的工具
- vimd 无所不在的vim党编写的软件。
好吧,我无耻的把三个工具放在一起了。虽然Candy和vimdesktop在使用上面甩Chorthotkey几条街,但是,我乐意把他们放在一起,怎么滴?
设计思路
AHK的操作按照是否聪明分为两种:
- 第一种叫做非上下文的操作
- 第二种叫做上下文操作
AHK操作按照使用场景分为:
- 直接操作
- 选中操作
AHK按照操作目标分为
- 程序类操作
- 键盘类操作
- 文件类操作
- 文本类操作
- 命令类操作
- 其他操作
我按照操作目标来设计自己的热键系统。
PS:浏览器建议chrome
1.程序类 — 涉及运行程序,或者一些常用的小功能
我的所有程序都是使用配置好的环境变量D:\Sysconfig 其中的快捷方式搞定的。比如win+r输入qq然后回车自动打开QQ。这个并不使用AHK。因为没有必要增加大量的热键来增加自己的记忆负担。
但是使用频率非常高的必须设置快捷键。
程序类快捷键我主要使用的是Win按键,AHK中用 # 来表示
1 | #a 到有道官网查找单词翻译,并且保存到桌面上一个文本文档中。 |
2. 键盘鼠标操作
按住左键再按住右键输出alt+f4
CAPSLOCK超级导航
CAPSLOCK 输出 ESC
SHIFT & CAPSLOCK 调用Candy
下面内容属于组合键的另一个按键
hjkl前下上右
a行尾进行编辑
o下一行进行编辑
n ctrl+delete
m delete
, backspace
. ctrl+backspace
5打开coding workspace
6打开未整理文件
7打开Onedirve
8打开同步文件夹
9打开娱乐文件
0打开sysconfig
3. 文件类操作
选中的文件夹在TC中打开,其余操作全部在TC中解决
由于我使用了Capslock的导航功能,这时候的capslock hjkl完全可以当作左下上右使用。
vim+tc,可以使用vim desktop进行超级强化。我一直对TOTALCMD的快捷键设计抱有不满和一丝丝的畏惧,但是这个软件把TC的快捷键常用快捷键精简到了令人发指的地步。I love TC plus AHK
这个我在后面系列中会讲到。
4. 文本类操作
candy操作,保存,发送等等,凡是Ctrl + c飘落的地方,就一定会有candy的存在(火影忍者既视感)。请在我另一篇Blog中看看我是怎么使用Candy的。
5. 命令类操作
这里面存放的是AHK的命令。其实就是使用ahk调用python脚本执行之类的东西。起到一个调用的作用。
6. 其他操作
热字符串输入
用的特别频繁的
//date 20150223
/dd
//time 08:52:33
/tt
//lastupdate 最后修改时间 2015-02-23 08:52:33
/ll
//mail twocucao@gmail.com
/mm
//anouncement 声明lalalalalallalalalallalalalla
/aa
常用的
//motto 我挥舞着纸笔和键盘,发誓要把这个世界写个明白。
常用打开Vim的文字模板使用
/hexo 打开gvim,粘贴进去对应的模板。
比如我输入
//hexo
那么就会Copy我之前定义的文字,然后存放在我的剪切板中。(时间是动态的)
接着脚本打开gvim,你要做的就是把文字粘贴进去就可以进行HEXO的编写了。
1 | title: 标题 |
三剑客地址
Chorthotkey https://github.com/twocucao/ChortHotKey
Candy https://github.com/aamii/Candy
VimDesktop https://github.com/victorwoo/vimdesktop
如果你想了解关于ahk的世界,请到这里来看:
善用佳软的ahk地址
A大在知乎的系列专题
我的AUTOHOTKEY脚本使用我的脚本来上手速度会快很多)
AWESOME AUTOHOTKEY_L 这里仅仅是关于AHKL的资源。
AHK论坛
其他
欢迎加入AUTOHOTKEY的官方群
3222783
这里的大神喜欢解答有挑战性的问题,很多AHK的脚本都在这里。
1 | 博客文章原创声明: |