如何用AutoHotKey发送带有不同缩进格式的文本块?
解决AutoHotKey发送带缩进文本时的缩进累积问题
问题场景
想要发送的目标文本格式:
Alfa Bravo Charlie Delta
使用以下脚本:
text = ( Alfa Bravo Charlie Delta ) Send % text Return
实际输出出现缩进错误:
Alfa Bravo Charlie Delta
问题原因
默认的Send命令是模拟用户手动输入文本,会触发目标窗口(如代码编辑器)的自动缩进功能,导致后续行的缩进被叠加;同时Send对多行文本的前导空格处理逻辑也会造成缩进累积。
解决方案
方案1:使用SendRaw命令
SendRaw会原样发送文本,不解释任何特殊字符,直接输出原始格式:
text = ( Alfa Bravo Charlie Delta ) SendRaw % text Return
方案2:通过剪贴板粘贴
将文本复制到剪贴板后模拟粘贴操作,完全避免模拟输入带来的缩进问题:
text = ( Alfa Bravo Charlie Delta ) Clipboard := text Send ^v ; 触发Ctrl+V粘贴 Clipboard := "" ; 可选:清空剪贴板,避免残留内容 Return
方案3:使用SendInput配合{Raw}选项
SendInput的{Raw}参数同样会原样输出文本,执行效率更高:
text = ( Alfa Bravo Charlie Delta ) SendInput {Raw}%text% Return
内容的提问来源于stack exchange,提问作者EquipDev
相关产品推荐
相关产品推荐

