# Chorthotkey 发布

# 0x01 概要介绍

经过长时间的电脑的使用,我渐渐的喜欢上了 Autohotkey 这个神器,喜欢 Python 是因为 Python 强大与高效,喜欢 AHK 则是太方便了。

长时间的使用,毕竟也积攒了一些脚本,加上对很多脚本的收集以及修改,勉强算得上是一个入门的 AHK 菜鸟了。

AHK 的优点可以对快捷键进行编程,对一个经常使用电脑自动化处理一些事情的人说,非常之方便,但缺点,太多,效率低,语法乱,数据结构乱。让我写一段文字处理简直就让我非常难受。

但为了取长补短,我仅仅使用其中的对快捷键编程的功能,加上收集来的别人的一些函数。修改集成,然后做一个顺手的 AHK 脚本,名字就叫做 Chorthotkey。

开源,协议选择 Mit 协议。简而言之也就是你改了名字版权就是你的了。

我在编写这篇文章的时候,也在重构并进行 V0.4 版本的完善。

什么时候使用 AHK 脚本呢。

当繁杂的功能可以批量完成的时候。

换而言之,当这个功能不值得用另一个大的专业性比较强的软件代替的时候,或者对快捷键进行编程的时候。

  • 先说第一点:当我想使用一个功能的时候,比如快速打开一个网页,或者进行文字上的简单处理,这个时候没有必要单独下载一个软件进行处理,这个在 AHK 中就是简单的几行代码就可以搞定。比如打开网站直接 Run www.baidu.com AHK 就会直接调用相关浏览器打开 baidu. 这么简单的东西没有必要单独下载一个软件进行管理。
  • 再说第二点:当我想着对快捷键进行编程调用进行自动化处理东西的时候,或者编写一套自己的热键用来打游戏或者其他的一些编辑用途等等,都可以。理论上来说,AHK 几乎是只有想不到没有做不到的。

那么,AHK 不能替代什么东西?

在文件管理方面,尽管你可以自己编写很多的快捷键,但你没有办法超越 TotalCMD,没有办法超越 Listary 或者 Everything,所以,你编写的东西只需要辅助你使用这些东西就好了。

在文本编辑方面,你始终无法超越 sublime text 3,无法超越 vi,无法超越 Emacs,你只需要辅助你使用这些工具即可。

其他专业软件同理。

既然说了 AHK 那么多的不足和缺憾,但是 AHK 在我的脚本语言中依然傲立第二名,就是因为它擅长的快捷键编程。

好了,废话这么多,总该说点干货了。

我认为 Autohotkey 用好这三个脚本即可:

  • Candy 一个非常强大的第三方弹出菜单 amii 编写。
  • ChortHotKey 一个我编写的工具
  • vimd 无所不在的 vim 党编写的软件。

好吧,我无耻的把三个工具放在一起了。虽然 Candy 和 vimdesktop 在使用上面甩 Chorthotkey 几条街,但是,我乐意把他们放在一起,怎么滴?

# 0x02 设计思路

AHK 的操作按照是否聪明分为两种:

  1. 第一种叫做非上下文的操作
  2. 第二种叫做上下文操作

AHK 操作按照使用场景分为:

  1. 直接操作
  2. 选中操作

AHK 按照操作目标分为

  1. 程序类操作
  2. 键盘类操作
  3. 文件类操作
  4. 文本类操作
  5. 命令类操作
  6. 其他操作

选取一个角度对 Chorthotkey 描述 — 按照操作目标

PS:浏览器建议 chrome

# 1. 程序类 – 涉及运行程序,或者一些常用的小功能

我的所有程序都是使用配置好的环境变量 D:\Sysconfig 其中的快捷方式搞定的。比如 win+r 输入 qq 然后回车自动打开 QQ。这个并不使用 AHK。因为没有必要增加大量的热键来增加自己的记忆负担。
但是使用频率非常高的必须设置快捷键。

程序类快捷键我主要使用的是 Win 按键,AHK 中用 # 来表示

 #a 到有道官网查找单词翻译,并且保存到桌面上一个文本文档中。
 #b 选中某段文字进行解析,如果里面有网址则访问网址,否则使用百度进行搜索
 #g 选中某段文字进行解析,如果里面有网址则访问网址,否则使用 Google 进行搜索
 #f 打开 everything 进行搜索
 #e 替换原有的资源管理器,打开 TotalCMD
 #q 打开 QQ
 #v open with vim
 #s open with sublime text

官方的操作

 #c Windows8 什么鸟菜单
 #x win8 快捷菜单
 #r 运行,比较方便
 #1-9 数字,建议把几个(四个之内,超过四个你的手可能就跟不上操作了)可能有变化的软件放在 pin 在 taskbar 上面。

# 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. 其他操作

热字符串输入其实和代码的 Snippet 比较相近。

用的特别频繁的
//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 的编写了。

title: 标题
date:2015-02-23 10:16:30
tags: 感悟
category: 『生活,感悟』
---

正文
<!-- more -->
其他

博客文章原创声明:
本博文章如果没有声明为整理或者转载,均为本人原创。非商业可以任意转载分享。但是编写的代码如果没有特别声明,虽然我建议保留原作者出处,但是代码皆为 mit 协议,也就是修改了名字也算是你的版权,开源世界嘛,我就喜欢那些可以拿来直接使用的东西,贯彻最纯粹的免费自由,但是求求你,改掉名字等等信息再说是版权是你的啊。

![关于本人](http://twocucao.xyz/about/),
点击链接就可以以 web 幻灯片的方式看到我的介绍。

我的 Github 地址:https://github.com/twocucao  (尽管东西不多,但是欢迎来 Star 和 Fork,就算你们来这里提前 Star Folk 了)
简书地址:http://www.jianshu.com/users/9a7e0b9da317/latest_articles (不常更新,而且几乎没有技术文章的讲解)
联系方式:twocucao@gmail.com
本人才疏学浅,是一个水平比较菜的程序员,如果行文之间发现任何错误,欢迎指正,特别欢迎技术上的指正。

# 0x03 三剑客地址

如果你想了解关于 ahk 的世界,请到这里来看:


ChangeLog:

  • 2016-11-23 已经于 2015-12 月份转投苹果平台,从此不想念 Windows. 除了 Windows 上面的 Autohotkey / Everything / TotalCMD