摘要:用AHK一键搞定一个你每天都需要花费很多时间做很多遍的事情
一个诉求
在任意程序中,快速用指定的搜索引擎搜索选中的文字。
传统做法
这一操作是在使用电脑过程中操作频率很大,通常较快的方法也只能:
1. 先复制
2. Chrome地址栏中用「搜索引擎关键字」+空格+「粘贴」+「回车」
去实现,这对于常用搜索引擎或想同时在多个网站执行搜索来说,还是太慢了。
而AHK这个上古神器能够做到的
它能够轻松实现这样的功能:
- 我把「执行搜索」的快捷键前缀设置为Alt + Shift + Ctrl(复杂全局快捷键可以避免冲突)
- 这几个按键加上其他字母就可以搜索设定好的搜索引擎,以CNKI为例,具体实现过程如下:
以上四行功能分别是:^!+c:: end ^c run, http://search.cnki.net/kns/brief/Default_Result.aspx?code=SCDB&kw=%clipboard%&korder=0&sel=1 return
- 识别快捷键(^!+这三个东西代表了三个快捷键前缀)
- 向当前程序发送「Ctrl + C」以复制
- 打开包含剪贴板信息的网址
- 结束
看似复杂的过程就这样简单的完成了。
万万不能滥用剪贴板
过程中使用了粘贴板作为字符串传递媒介,会替换原有粘贴板内容。如果有人恰好刚刚复制了阅后即焚的,能够阻止地球爆炸的核弹密码……为了避免这种惨剧发生,可以先将原始粘贴板内容暂存起来,功能执行后再替换回去就好。
1-2行之间加入
f = %clipboard%
3-4行之间加入
clipboard = %f%
大功告成
不值一提的变化
- 可以同时执行多个搜索引擎:一键搜索淘宝、京东、什么值得买……
- 搜索「空格」+「site:pan.baidu.com」时,空格在URL里被替换为「+」,注意在AHK语句中,加号前要加转义字符「`」
小例枚举:
[##CNKI]
^!+c::
f = %clipboard%
Send ^c
run, http://search.cnki.net/kns/brief/Default_Result.aspx?code=SCDB&kw=%clipboard%&korder=0&sel=1
clipboard = %f%
return
[##豆瓣音乐 D]
^!+d::
f = %clipboard%
Send +^c
run, http://music.douban.com/subject_search?search_text=%clipboard%&cat=1003
clipboard = %f%
return
[##谷歌 G]
^!+g::
f = %clipboard%
Send ^c
run, https://www.google.com/search?sclient=psy-ab&newwindow=1&site=&source=hp&btnG=Search&q=%clipboard%&oq=&gs_l=&pbx=1
clipboard = %f%
return
[##谷歌 专利搜索 w]
^!+w::
Send ^c
run, https://www.google.com/search?tbm=pts&hl=zh-CN&q=%clipboard%
return
[##淘宝 T]
^!+t::
f = %clipboard%
Send ^c
run, http://s.taobao.com/search?q=%clipboard%
clipboard = %f%
return
[##优酷 Y]
^!+y::
f = %clipboard%
Send ^c
run, http://www.soku.com/search_video/q_%clipboard%?_rp=14465484703976uZ7za
clipboard = %f%
return
[## 百度 B]
^!+b::
f = %clipboard%
Send ^c
run, http://www.baidu.com/s?wd=%clipboard%&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-8
clipboard = %f%
return
[##购物全套 S]
^!+s::
f = %clipboard%
Send ^c
run, http://s.taobao.com/search?q=%clipboard%
run, http://search.jd.com/Search?keyword=%clipboard%&enc=utf-8&wq=%clipboard%&pvid=s0os0gbi.2wf34qb1
run, http://search.smzdm.com/?c=home&s=%clipboard%
clipboard = %f%
return
[##书 X]
^!+x::
f = %clipboard%
Send ^c
run, https://www.google.com/?gws_rd=ssl#newwindow=1&safe=off&q=%clipboard%`+site:pan.baidu.com
run, http://202.118.176.18:8080/opac/search_adv_result.php?sType0=any&q0=%clipboard%&with_ebook=on&pageSize=100&sort=score&desc=true
run, http://book.douban.com/subject_search?cat=1003&search_text=%clipboard%
clipboard = %f%
return
[##百度网盘 P]
^!+p::
f = %clipboard%
Send ^c
run, https://www.google.com/?gws_rd=ssl#newwindow=1&safe=off&q=%clipboard%`+site:pan.baidu.com
clipboard = %f%
return