如何让文本擦洗(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