为什么热弦会出乎意料?

时间:2018-09-17 12:43:19

标签: autohotkey

我必须测试案例:

案例1

#Include test1.ahk
::se::Stack Exchange `{backspace}

(test1.ahk为空),然后键入:

  • se␣(末尾有空格)→Stack Exchange(末尾无空格)
  • use␣uStack Exchange

但是可以说我在末尾删除了␣{backspace}或将其更改为

::se::Stack Exchange `{backspace}
::de::define

然后它又可以正常工作了。

案例2

#Include test1.ahk
::se::Stack Exchange

工作正常,但

#IfWinActive, ahk_class SunAwtFrame
return
::se::Stack Exchange

制作sese,即什么也没发生。

这很奇怪,因为似乎没有什么错。我什至无法隔离它,将AHK更新到最新版本或重新安装它都无济于事。我所知道的是,任何热字符串在发生这种情况时都会以这种方式运行。当我包含this script时,问题就开始了,但是即使我排除了它,仍然会发生。脚本本身似乎也没有什么问题。


也请问Reddit

1 个答案:

答案 0 :(得分:1)

阻止 se 的扩展以在您键入 use 时触发,这是我使用特殊字符结束文本扩展字符串的原因之一。在维持三种语言的文本扩展时,我决定采用以下方案。

class UserDao @Inject constructor(private val em: EntityManager) {

    fun findUserById(id: Long): User = em
            .find(UserEntity::class.java, "id")
            .toUser()

    fun save(user: User) {
        val entity = user.toUserEntity()

        // follows and followedBy lists are empty!
        em.persist(entity)
    }
}

在某些情况下,我还使用来扩展缩写。 我选择 \ = ] 符号,因为它们都与Enter键很接近。

示例:

荷兰人

text\ is the default (Dutch)
text= is used for English
text] is used for German

英语:

:*:adhv\::aan de hand van
:*:bv\::bijvoorbeeld

德语:

:*:am=::Account Management
:*:actm=::Active Monitoring
:*:appr=::approach
:*:art=::article
:*:ba=::business alignment

点:

:*:nrw]::Nordrhein-Westfalen
:*:ma]::Mitarbeiter
:*:fk]::Führungskräfte

如您所见,我可以写 adhv ,或者在末尾用或用 \ 编写,它们的扩展方式不同。 / p>

*用于覆盖默认的结束字符,例如{Space}。

相关问题