我已将我的Caps lock键重新映射到Ctrl+ Alt+Shift基于这个超级用户的回答
; Caps lock becomes ctrl+alt+shift
*CapsLock::
SetKeyDelay -1
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
*CapsLock up::
SetKeyDelay -1
Send {Blind}{Ctrl Up}{Alt Up}{Shift Up}
return
然后,为了获得 Vim 风格的导航,我尝试重新映射hjkl到箭头键。我尝试了几种方法,但都不起作用。我选择了以下方法,因为它适用于单键按下。但是当我按住时,例如Caps lockJ在 Eclipse 中,CtrlAltJ键盘快捷键会触发,而不是简单地向下一行。它只会在自动键盘重复时触发,而不会在原始按键时触发。
^!+h::
Send {Left}
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
^!+j::
Send {Down}
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
^!+k::
Send {Up}
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
^!+l::
Send {Right}
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
通过点击 20 次来向下滚动 20 行J太乏味了。有人有解决方案吗,还是我使用不当?我有一些其他命令映射到Caps lock和CapslockWin(技术上映射到 ^!+ 和 ^!+#),因此修复最好不要破坏它们。例如:
; Caps lock + i becomes escape
^!+i::
Send {Escape}
Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return
现在这个功能很好用,因为我不需要按住按键Esc。谢谢!
答案1
这是您当前所做操作的一种替代方法。我已将其设置为CapsLock只需切换变量cmd
即可。根据此变量,您的移动键将启用。可以按住这些键中的任何一个以重复多次。
我还提供了一些方法,这些方法现在可能有些过度,但以后可能会对你有用。
*CapsLock:: cmd := 1
*CapsLock up:: cmd := 0
#if cmd
h::Key("left")
j::Key("down")
k::Key("up")
l::Key("right")
n::Key_repeat("^", "left")
p::Key_repeat("^", "right")
#if
Key(key)
{
SendInput {blind}{%key%}
}
Key_repeat(pfx, key)
{
SendInput {blind}%pfx%{%key%}
}