Debugging 循环引用会导致自动热键出错吗?

Debugging 循环引用会导致自动热键出错吗?,debugging,keyboard-shortcuts,autohotkey,Debugging,Keyboard Shortcuts,Autohotkey,我编写了我的第一个自动热键脚本,但这一部分似乎有一个错误: ^;::Send ^z ; Undo ^q::Send ^x ; Cut ^j::Send ^c ; Copy ^k::Send ^v ; Paste ^x::Send ^+v ; Paste without formatting 我不能去上班(第二行) 有什么问题吗? 如果我把第五行注释掉,那么Cut就行了。然而,我从未让他们同时工作过。带分号(;)的第一行是否会引起问题?发生这种情况是因为按Ctrl+Q会触发“剪切”热键,该热键会

我编写了我的第一个自动热键脚本,但这一部分似乎有一个错误:

^;::Send ^z ; Undo
^q::Send ^x ; Cut
^j::Send ^c ; Copy
^k::Send ^v ; Paste
^x::Send ^+v ; Paste without formatting
我不能去上班(第二行)

有什么问题吗?


如果我把第五行注释掉,那么Cut就行了。然而,我从未让他们同时工作过。带分号(;)的第一行是否会引起问题?

发生这种情况是因为按Ctrl+Q会触发“剪切”热键,该热键会按Ctrl+X,该热键会触发“粘贴而不格式化”热键,该热键会按Ctrl+Shift+V

因此,文本处理器接收

  • Ctrl+X(剪切)和
  • Ctrl+Shift+V(无格式粘贴)
  • 只清除文本格式


    幸运的是,有一个简单的修复方法:热键前缀
    $
    。从:

    $prefix强制使用键盘钩子来实现这个热键,作为副作用,它阻止
    Send
    命令触发它

    您只需在热键前面加上前缀,即可使用
    $
    触发
    Send

    ^;::Send ^z ; Undo
    ^q::Send ^x ; Cut
    ^j::Send ^c ; Copy
    ^k::Send ^v ; Paste
    $^x::Send ^+v ; Paste without formatting
    

    这是因为按下Ctrl+Q会触发“剪切”热键,按下Ctrl+X会触发“无格式粘贴”热键,按下Ctrl+Shift+V

    因此,文本处理器接收

  • Ctrl+X(剪切)和
  • Ctrl+Shift+V(无格式粘贴)
  • 只清除文本格式


    幸运的是,有一个简单的修复方法:热键前缀
    $
    。从:

    $prefix强制使用键盘钩子来实现这个热键,作为副作用,它阻止
    Send
    命令触发它

    您只需在热键前面加上前缀,即可使用
    $
    触发
    Send

    ^;::Send ^z ; Undo
    ^q::Send ^x ; Cut
    ^j::Send ^c ; Copy
    ^k::Send ^v ; Paste
    $^x::Send ^+v ; Paste without formatting
    

    您的问题确实是由热键触发其他热键引起的,可以使用
    $
    修饰符进行修复,如其他答案中所述,但我建议您只使用如下简单易用的方法:

    ^;::z ; Undo
    ^q::x ; Cut
    ^j::c ; Copy
    ^k::v ; Paste
    ^x::+v ; Paste without formatting
    

    您的问题确实是由热键触发其他热键引起的,可以使用
    $
    修饰符进行修复,如其他答案中所述,但我建议您只使用如下简单易用的方法:

    ^;::z ; Undo
    ^q::x ; Cut
    ^j::c ; Copy
    ^k::v ; Paste
    ^x::+v ; Paste without formatting
    

    热键前有一个
    $
    以防止重复循环总是好的。通常,它会警告您“在过去的X秒钟内发生了X次按键”,但在您的例子中似乎没有。在热键之前有一个
    $
    总是好的,以防止重复循环。通常,它会警告您“在过去的X秒钟内发生了X次按键”,但在您的实例中似乎没有。