Autohotkey:让 Windows 10 的文本清理功能更接近 OS X

Autohotkey:让 Windows 10 的文本清理功能更接近 OS X

如何让文本擦洗(Alt + 左/右/上/下)在 Windows 10 上更像 Mac?我已经通过以下方式切换了 CTRL 和 ALT:

LAlt::LCtrl
LCtrl::LAlt

现在我想做:

Win + 左 / 右 / 上 / 下 执行的操作类似于(原始)CTRL + 左 / 右 / 上 / 下(逐字逐句地擦洗)

ALT + 左 / 右 / 上 / 下,执行方式与 OSX 的 CMD + 左 / 右 / 上 / 下类似(行/文件的开头或结尾)

答案1

您只是想重新映射快捷键?

SendMode Input   ; use SendInput by default for Send

;#IfWinActive, ahk_exe someProg.exe  ; ← #IfWinActive would go here

; Remap Win+ArrowKey to Ctrl+ArrowKey
*#Left::Send ^{Left}
*#Right::Send ^{Right}
*#Up::Send ^{Up}
*#Down::Send ^{Down}

如果您想使用 Windows 键CMD...

; Remap Alt+ArrowKey to Win+ArrowKey
*!Left::Send #{Left}
*!Right::Send #{Right}
*!Up::Send #{Up}
*!Down::Send #{Down}

星号修饰键*允许其他修饰键存在/活动并仍然触发。你可能想要也可能不想要它。{Blind}如果你不想释放额外的修饰键,你可能需要发送(即,将其添加到发送语句中)。请参阅文档发送

如果您希望这些交换仅在某些程序中起作用,请#IfWinActive在脚本中的重新分配语句之前使用一个语句。或者,#If WinActive("ahk_exe ProgA.exe") || WinActive("ahk_exe ProgB.exe")如果您希望它们在多个(但不是所有)程序中交换。

从上面应该可以明显看出键修饰符是什么(Ctrl = ^,Alt = !,Win = #)......完整列表可在此处获得:热键

此外,如果您最终需要做的不仅仅是简单的单行键重新分配,只需将语句放在热键定义后的行上,并使用语句Return对单个热键触发器执行多件事,即..

; Scrub the clipboard of formatting and paste... 
; This takes two commands, list on the line after hotkey definition
#IfWinActive   ; Reset conditional so this will trigger in any program...
+^v::
    Clipboard := Clipboard  ; Reassign only text back to clipboard vs. ClipboardAll
    Send ^v
Return

相关内容