我写了我的第一个AutoHotKey脚本,但是此部分似乎有错误:
^;::Send ^z ; Undo
^q::Send ^x ; Cut
^j::Send ^c ; Copy
^k::Send ^v ; Paste
^x::Send ^+v ; Paste without formatting
我无法使用Cut(第二行)。
出了什么问题?
如果我注释掉第五行,那么剪切将起作用。但是,我从未让他们俩一次工作。第一行用分号(;)引起麻烦吗?
答案 0 :(得分:1)
之所以发生这种情况,是因为按下 Ctrl + Q 会触发“剪切”热键,该热键按下 Ctrl + X ,触发“不格式化粘贴”热键,该热键按 Ctrl + Shift + V 。
因此文本处理器会收到
仅清除文本格式。
幸运的是,有一个简单的解决方法: $
热键前缀。来自docs:
$前缀强制使用键盘挂钩来实现此热键,这是一个副作用,阻止了
Send
命令触发它。
您只需要在Send
可以触发的热键前面加上$
。
^;::Send ^z ; Undo
^q::Send ^x ; Cut
^j::Send ^c ; Copy
^k::Send ^v ; Paste
$^x::Send ^+v ; Paste without formatting
答案 1 :(得分:1)
您的问题确实是由热键触发其他热键引起的,可以通过$
修饰符来解决,如其他答案所述,但是我建议您只使用简单易用的{{3} }:
^;::z ; Undo
^q::x ; Cut
^j::c ; Copy
^k::v ; Paste
^x::+v ; Paste without formatting