1 办公技巧:使用AutoHotKey实现重复行功能
1.1 背景
很多流行的文本编辑器或IDE,比如:VSCode
、EmEditor
、EverEdit
、Notepad--
等都具有重复行的菜单或快捷键,特别是支持快捷键时,用户可以快速的复制当前编辑的行内容,提高内容书写速度。
重复行功能在运维工程师编写设备维护脚本、或编写html的表格内容、或其他行内容重复度很高,只需要修改少量内容的场景时非常有帮助。
但不幸的是, 并不是所有的编辑器编辑都支持重复行功能,或不一定提供快捷键,本文将讨论如何解决这一问题。
1.2 实现原理
重复行,拆解为手工操作(按键序列),可以分为以下几步
- 选中当前行:End -> Shift + Home
- 复制当前行:Ctrl + C
- 在当前行末尾回车:End -> Enter
- 粘贴文本:Ctrl + V
AutoHotKey做为一个快捷键键工具,通过快捷键实现一些逻辑功能,用户可以写代码完成发送快捷键组合,提取剪贴板等。
🕮说明:AutoHotKey的安装方法用户可以在互联网搜索。[AutoHotKey官网](https://www.autohotkey.com/)
1.3 实现过程
#Requires AutoHotkey v2.0
#^Y::
{
Send "{Home}"
Send "+{End}"
A_Clipboard := ""
Send "^c"
ClipWait(0.3)
Send "{End}"
Send "{Enter}"
Send "^v"
Send "{Home}"
}
将上述代码拷贝并另存为复制行.ahk
,或用户命名的其他名称,双击该文件即可启动快捷键监听,上述代码中重复行
的调用快捷键为:Win + Ctrl + Y。用户可以根据需要修改为自己喜欢的快捷键,但注意不要和已知快捷键冲突。
1.3.1 代码解读
第1行: #Requires AutoHotkey v2.0
文件头注释,声明这是一个AutoHotkey 2.0版本文件
第2行:#^Y::
是快捷键定义,其中“#”表示Win键,“^”表示Ctrl,“Y”表示字母Y键, “::”是固定用法,表示快捷键定义结束。
第3行~13行:代码主体,发送快捷键序列,A_Clipboard
是AutoHotkey内置变量,代表剪贴板内容,这里给该变量赋值空是为了清空剪贴板,为拷贝当前行做准备。
文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright © 2022~2024 All rights reserved.