另一个 Bracket Script 问题

另一个 Bracket Script 问题

我使用 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 不会等待 之后的结束字符""

相关内容