我使用 AutoHotKey 以以下方式自动完成所有类型的括号:
- 输入 ( 给出 ( -> 仅打开大括号
- 输入 (( 给出 () -> 打开和关闭括号,输入光标位于括号之间。
方括号 [] 和花括号 {} 也会发生同样的事情。
我的大括号代码(例如)如下:
{ ; Automatic BRACES
:*?:((::
SendInput, {Raw}()
Send {SPACE}
SendInput, {Left 2}
return
}
按下双开括号后,我在括号之间输入文本,然后只需按 END 并继续输入。 右括号后的空格已添加。
我的问题:
我希望引号“”的行为方式相同,但显然 AHK 对待引号的方式不同,我无法理解。使用代码:
{ ; Automatic Quotes
:*?:""::
Send {U+0022}
Send {U+0022}
Send {SPACE}
SendInput, {Left 2}
return
}
按下“-> 什么也没有发生。
按“”->在中间用光标创建一个双引号(如预期的那样)
将代码更改为:
{ ; Automatic Quotes
:*?:"::
Send {U+0022}
Send {U+0022}
Send {SPACE}
SendInput, {Left 2}
return
}
按一下“”键即可添加“”,光标位于中间。
问题:
有人知道如何才能让 QUOTES 的行为与其他括号相同吗?
在此先非常感谢您的帮助。
答案1
您可以使用 AutoHotKey 热字符串 使用如下脚本:
:*:""::
Send,""
Send,{Left}
return
此处的主机字符串为""
。
该*
选项表示 AHK 不会等待 之后的结束字符""
。