我已经使用 Microsoft OneNote 几个月了,并且按照它应该的方式使用它。当我开始使用 OneNote 时,每当我需要增加或减少字体大小时,我都会尝试应用常见的 MS Word 快捷方式,但它对我来说不起作用。
几个月后,我才知道可以使用Ctrl+ Shift+>或Ctrl+ Shift+来增加或减少字体大小<。但我不喜欢这些快捷方式。
有没有办法自定义 OneNote 键盘快捷键?
答案1
使用自动热键:
#if WinActive("ahk_exe ONENOTE.EXE")
^NumpadAdd::^+.
^NumpadSub::^+,
#if
如果您不想使用数字键盘上的+
和键,请用和替换(假设您有一个键盘布局并且想要使用退格键旁边的键)。-
NumpadAdd
=
NumpadSub
-
EN
如果您想修改热键,则代表,^
代表和代表(Ctrl
+
Shift
!
Alt
有关特殊修饰符的更多信息)。
复杂解释
我有点 AutoHotkey 迷,因为我在自己的工作流程中经常遇到这些类型的问题,忍不住要在这里解释一下该语言的工作原理。如果有人想深入研究,请看这里:
< > 和 + 键问题:
对我来说,<
和>
键通常(没有 Shift 和 Control)充当点.
和逗号,
,并+
充当=
, ,这也是将它们写入脚本的正确方法。带有这些键的脚本版本无法触发的另一个可能原因是<
,>
和+
特殊修饰符号。如果普通按键名根本不起作用,也可以使用特殊的虚拟按键 ID{vk##}
和扫描码{sc##}
来代替,并使用关键历史。最后一部分要复杂一些,准备工作也更多一些,例如这里。
窗口检测:
此外,在这种情况下,处理窗口标题的更好方法WinActive
可能是使用 直接引用 .exe。OneNoteahk_exe [app_name_goes_here].exe
可执行文件的名称可能与其他版本不同(我使用的是 OneNote 2016)。您可以使用WindowSpy.ahk
(这是一个应用程序,应该是每个 AutoHotkey 安装的一部分(您会在 AutoHotkey 文件夹中找到它))或在任务管理器中查找 OneNote 可执行文件来找出答案。
在这种情况下正确使用 WinActive:
为了不破坏其他应用程序中使用脚本添加的新热键组合(^NumpadAdd
+ ^NumpadSub
),重要的是要使它们上下文相关使用#If
,它必须位于这些热键声明上方。如果您想使用下面的非上下文敏感代码扩展脚本,则必须使用空语句关闭上下文敏感#If
。
单行热键,无需 Send/SendInput:
如果热键是足够简单,可以写成一行,它不需要返回,甚至不需要使用Send
或SendInput
。但是,如果您需要使用特殊命名的键(例如,在它们周围写入 ),这可能会很棘手NumpadAdd
。Send
({}
示例Send {NumpadAdd}
)
答案2
我尝试使用 AutoHotkey 来实现这一点,但不知何故,Onenote 对我发送的输入没有反应,即。
; commments start from colon
; ^ is control, + is shift
^+::
if WinActive("Onenote")
SendInput ^+<
;MsgBox Stuff1
return
^-::
if WinActive("Onenote")
SendInput ^+>
;MsgBox Stuff2
return
如果您取消注释,则会出现 Stuff 消息框,但键无法正确解释。也许有人可以从这一点继续。
答案3
Alt- H-FS然后输入您想要的字体
注意:FS 表示先按 F 键,再按 S 键