由 AutoHotkey v2 中以错误顺序发送的热字符串触发的击键

问题描述

我写了一个热字串来在文本输入中插入德语双引号。

它们看起来像这样:

„“

这是我等待输入 ~+ 的热字串:

:*  :~+:: {
  Send "„{Left}“"
}

我希望它输出 „“ 并将我的插入符号设置回原处,因为我想在双引号之间而不是在它们之后写入带引号的文本。

它实际上输出的是 “„ 而我不知道为什么。

我的临时修复是有意交换 Send 函数调用中的字符:

:*  :~+:: {
  Send "“{Left}„" ; Need the quote characters in reverse order for some reason
}

这种方式对我有用,但真正的解决方法是什么?
使用 AutoHotkey v2 2.0-a129。

解决方法

你只是发送了错误的东西,哈哈。考虑一下。
„{Left}“
首先,您要发送
然后你发送了 {left},所以你的插入符号在这里结束 |„
然后你发送 ,所以你在第一个前面输入这个引用。

你真正想做的是这个
„“{Left}


其他改进:
我不知道你为什么在选项部分放两个空格,但我很确定他们没有做任何事情?可以删除它们。
而且您也不需要任何发送命令,热字符串语法就像这样
:*:~+::„“{Left}