在Onenote中,假设我想写x ^ y(x到y的幂),我需要进入Equ模式(通过键盘快捷键),输入x ^ y,点击Space,然后退出等模式
所以,我认为它可能是这样的:
::(wild_card)^(wild_card)::
Send, (Shortcut for equ mode)
Send, variable1
Send, ^
Send, variable2
Send, space
Send, (Shortcut for equ mode)
我如何实现这一目标?
或者,也可以通过这样做来制定相同的目的
- 监视由结束字符分隔的单词
- 检测^
是否在这些单词中
- 发送(快捷方式),然后是单词,然后是空格,然后是(快捷方式)
这更可行吗?
答案 0 :(得分:1)
谢谢MCL,
以下是自动将x_y和x ^ y转换为onenote
中的数学表示的代码#Include DynamicHotstrings.ahk
#IfWinActive, ahk_class Framework::CFrame
hotstrings("(\w+\_\w+) ","dowork")
hotstrings("(\w+\^\w+) ","dowork")
dowork:
Send, {LAlt Down}{=}{LAlt Up}
SendRaw, %$1%
Send, {Space}
Send, {LAlt Down}{=}{LAlt Up}
Send, {Space}
Return
更好的是,你可以修改DynamicHotstrings.ahk,这样当我们处于方程模式时它会忽略自动转换:
hotstrings(k, a = "")
{
CoordMode,Pixel,Screen
PixelGetColor, color, 455, 1
if (color = 0xD7337F)
return
....