『AotuHotKey』——一个小巧却高效的实用效率工具
[!note]
本来主要是想找一下「」和『』,然后这个方法直接可以找到大部分的特殊字符
通过输入法输出
『Ctr + shift + Z』进入搜狗输入法的『符号大全』
在『标点符号』项可以找到「」和『』
使用AutoHotKey自定义替换
[!note]
每次想要用到这两个符号的时候都要进入输入法的『符号大全』里面找的话,操作还是没那么方便,所以就想着找到别的更高效的方法,于是就查到了可以使用『AutoHotKey』这个软件进行自定义一些热键。
AutoHotkey 简介
AutoHotkey (AHK) 是一个功能强大的开源脚本语言和自动化工具,主要用于 Windows 操作系统。它通过简洁的语法和强大的功能,使用户能够快速定义快捷键、宏、文本替换规则,甚至开发功能复杂的应用程序。
主要特点
- 快捷键绑定:
- 定义自定义快捷键,如组合键(
Ctrl+Alt+T)、鼠标按键,甚至设备专用键。 - 适用于提高工作效率,如快速启动程序、操作窗口等。
- 定义自定义快捷键,如组合键(
- 文本替换:
- 设置特定的输入触发特定的输出,例如将
btw自动替换为by the way。
- 设置特定的输入触发特定的输出,例如将
- 脚本自动化:
- 模拟鼠标点击、键盘输入等操作,自动完成繁琐重复的任务。
- 窗口管理:
- 自动调整窗口大小、位置,切换窗口,隐藏窗口等。
- 硬件扩展支持:
- 自定义处理特殊硬件设备(如自定义游戏键盘和鼠标按键的功能)。
- 轻量级与开源:
- 脚本体积小巧,运行效率高,完全免费,拥有活跃的社区支持。
常见用途
- 文本和脚本自动化:
- 录入经常使用的短语。
- 快速批量修改文件名。
- 提高工作效率:
- 快捷打开文件、文件夹或网站。
- 一键填写表单。
- 游戏辅助:
- 编写简单的辅助脚本,如自动点击、宏操作等。
- 窗口管理:
- 在多显示器之间快速移动窗口。
- 根据需求排列窗口位置和大小。
- 开发工具:
- 定制化工具和简单程序,如定时器、弹窗工具。
基本语法
AutoHotkey 的语法简单易学。以下是一些基本示例:
快捷键绑定
^j::Send, Hello, AutoHotkey!
解释:
^表示Ctrl键,^j表示Ctrl+J。- 按下
Ctrl+J时,发送文本Hello, AutoHotkey!。
文本替换
::btw::by the way
解释:
- 输入
btw后按空格,自动替换为by the way。
- 输入
自动化任务
F1::
Run, notepad.exe
Sleep, 1000
Send, This is an automated script.{Enter}
Return
解释:
- 按
F1键时,打开记事本,等待 1 秒后输入一行文本。
- 按
窗口管理
#z::WinMaximize, A
解释:
#表示Win键,#z表示Win+Z。- 按下组合键时,最大化当前活动窗口。
安装与使用
下载: 从 AutoHotkey 官方网站 下载并安装。
创建脚本:

新建一个
.ahk文件(如MyScript.ahk)。使用记事本或任意代码编辑器打开,编写脚本内容。
示例:
|-替换为「,-|替换为」#Requires AutoHotkey v2.0 ::|-::「
::-|::」
运行脚本:
双击
.ahk文件即可运行脚本。使用托盘图标可以进行暂停、退出脚本或重新加载操作。
[!tip]
不知道啥是托盘图标?看下面指示

找到对应的「图标」,点击鼠标右键就会出现「操作选项」了。
编译为可执行文件:
- 进入AutoHotKey,选择「Complie」进行编译
.ahk文件

- 选择之前写好的脚本,生成
.exe文件以「独立运行」即之后的每次运行不再需要AutoHotKey,方便设置「开机自启动」。
- 进入AutoHotKey,选择「Complie」进行编译

设置脚本开机自启动
[!tip]
为了使脚本每次开机之后都自动生效,不需要再手动开启,可以直接设置「开机自启动」,只需要将上面编辑好的.exe可执行文件放到「startup」目录下。
快速进入「startup」目录:点击Ctr+R快捷键,输入
shell:startup,回车进入
当然也可以通过「资源管理器」一步步进入目录
将.exe文件复制到该目录下,即可

优势与局限
优势
- 易学易用:简单语法,适合快速上手。
- 功能丰富:从快捷键到窗口管理,几乎覆盖所有桌面操作需求。
- 社区支持:拥有丰富的教程和脚本资源。
局限
- 仅限 Windows 平台:无法在 macOS(可使用textexpander) 或 Linux 上使用。
- 高级功能需要学习:复杂脚本的编写可能需要掌握更深入的编程知识。
- 与防作弊软件冲突:用于游戏时,可能被误判为作弊工具。
学习资源
- 官方文档:
- 社区论坛:
- 教程网站:
AutoHotkey 是一款小巧但功能强大的工具,适合想要提升工作效率、自动化任务或定制系统功能的用户。
实现自定义输出特殊字符
在简单了解之后,AutoHotKey的功能完全可以实现我的需求,于是便开始根据自己目前的需要,自定义输出特殊字符。
明确替换规则
|-替换成「-|替换成」|=替换成『=|替换成』编写脚本
#Requires AutoHotkey v2.0 :*:|-::「
:*:-|::」
:*:|=::『
:*:=|::』
[!important]
与一般AutoHotKey的「文本替换」脚本的小小改进:
关键的修改是在每个替换规则前添加
:*:,这个星号的作用是告诉 AutoHotkey 在检测到触发文本时立即执行替换,而不需要等待终止符(比如空格)。这样做可以避免每次都要多输出一个「空格」才能进行替换。
编译成.exe
如前面所述
设置开机自启动
如前面所述
[!important]
「」和『』一般都是成对出现的,所以可以进一步优化脚本:
将‘|-’替换成‘「」’,并使得替换之后,光标停留在‘「’和‘」’之间,方便输入内容;
将‘|=’替换成‘『』’,并使得替换之后,光标停留在‘『’和‘』’之间,方便输入内容。
改进之后的脚本:
#Requires AutoHotkey v2.0
:*:|-::
{
SendInput "「」"
SendInput "{Left}" ; 移动光标到括号中间
}
:*:|=::
{
SendInput "『』"
SendInput "{Left}" ; 移动光标到括号中间
}
; 保留单独的右括号输入
:*:-|::」
:*:=|::』
这个新版本脚本可以:
- 输入
|-时,自动输入一对「」并将光标置于中间 - 输入
|=时,自动输入一对『』并将光标置于中间 - 仍然保留了单独输入右括号的功能(使用
-|和=|)
使用效果:
- 输入
|-→ 得到「|」(|表示光标位置) - 输入
|=→ 得到『|』(|表示光标位置) - 输入
-|→ 得到」 - 输入
=|→ 得到』
当然,我这么用似乎有点大材小用了,AutoHotKey的强大功能可以实现更多功能,帮助提高效率,更多有趣用法等待被探索。
小感慨
没想到会因为先前的一个「特殊字符输出」问题,而最后学到了使用「AutoHotKey」这个工具,感觉很有收获。似乎是对现状的不满足,推动自己去探索,去思考,最后有所收获。
『AotuHotKey』——一个小巧却高效的实用效率工具的更多相关文章
- 『计算机视觉』Mask-RCNN
一.Mask-RCNN流程 Mask R-CNN是一个实例分割(Instance segmentation)算法,通过增加不同的分支,可以完成目标分类.目标检测.语义分割.实例分割.人体姿势识别等多种 ...
- 『计算机视觉』FPN:feature pyramid networks for object detection
对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度.FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可 ...
- 『图论』LCA 最近公共祖先
概述篇 LCA (Least Common Ancestors) ,即最近公共祖先,是指这样的一个问题:在一棵有根树中,找出某两个节点 u 和 v 最近的公共祖先. LCA 可分为在线算法与离线算法 ...
- 『AngularJS』$location 服务
项目中关于 $location的用法 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$loc ...
- [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装
[原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...
- JS 中通过对象关联实现『继承』
JS 中继承其实是种委托,而不是传统面向对象中的复制父类到子类,只是通过原型链将要做的事委托给父类. 下面介绍通过对象关联来实现『继承』的方法: Foo = { // 需要提供一个 init 方法来初 ...
- 『摄影欣赏』16幅 Romantic 风格照片欣赏【组图】
今天,我们将继续分享人类情感的系列文章.爱是人类最重要的感觉,也可能是各种形式的艺术(电影,音乐,书,画等)最常表达的主题 .这里有40个最美丽的爱的照片,将激励和给你一个全新的视觉角度为这种情绪.我 ...
- 『开源』Slithice 2013 服务器集群 设计和源码
相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...
- 『片段』OracleHelper (支持 多条SQL语句)
C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...
- 『设计』Laura.Compute 设计思路
前言: 前一篇文章 <『开源』也顺手写一个 科学计算器:重磅开源> ,继 Laura.Compute 算法开源之后,有 博客园 园友 希望公开一下 Laura.Compute算法 的 设计 ...
随机推荐
- 在 VMware vSphere 中构建 Kubernetes 存储环境
作者:马伟,青云科技容器顾问,云原生爱好者,目前专注于云原生技术,云原生领域技术栈涉及 Kubernetes.KubeSphere.kubekey等. 相信很多小伙伴和企业在构建容器集群时都会考虑存储 ...
- KubeSphere 集群配置 NFS 存储解决方案
作者:申红磊,QingCloud 容器解决方案架构师,开源项目爱好者,KubeSphere Member 在正式阅读本文之前,先友情提醒一下:不建议您在生产环境中使用 NFS 存储(特别是 Kuber ...
- 第二篇:低功耗模组Air724UG硬件设计手册
接着上篇,继续分享. 3.5 串口 模块提供了五个通用异步收发器:主串口 UART1.校准串口 UART2.通用串口 UART3.调试串口 HOST UART 和 ZSP UART. 3.5.1 ...
- 【踩坑日记】uni-app相机抽帧,相机被多次初始化问题
缘起:最近频繁接到使用我们AI运行识别插件用户的反馈,部分机型在uni中抽几帧后,就不再帧的了.开始以为又是小程序的API兼容的问题(确有机型出现过抽帧兼容性问题),后面越来越多的反馈在原生下无问题, ...
- php yield使用
在循环一个大数组的时候yield非常好用能节省内存. 比如有个大文件需要读取并处理,如果全部读出来太耗费内存,就可以这样做 <?php function getRows($file) { $ha ...
- 用java实现JDBC数据库连接池
这次写数据库连接池主要想解决的还是servlet访问数据库获取数据的稳定性问题,于是便研究了一下,下面来讲一讲如何用java来写一个适合自己用的数据库连接池.这个东西大家并不陌生,通过使用数据连接池我 ...
- Web实时消息推送的解决方案
什么是消息推送(push) 推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用. 消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网 ...
- k8s之镜像加速
部分国外镜像仓库无法访问,但国内有对应镜像源,可以从以下镜像源拉取到本地然后重改tag即可: 阿里云镜像仓库 可以拉取k8s.gcr.io镜像 #示例 docker pull k8s.gcr.io ...
- 秒懂Redis
一.redis简介 Redis 是C语言开发的一个开源高性能键值对的内存数据库,可以用来做数据库.缓存.消息中间件等场景,是一种NoSQL(not-only sql,非关系型数据库)的数据库 二.Re ...
- Mybatis【6】-- Mybatis插入数据后自增id怎么获取?
代码直接放在Github仓库[https://github.com/Damaer/Mybatis-Learning/tree/master/mybatis-05-CURD ] 需要声明的是:此Myba ...