目前我正在使用以下代码来更改键盘布局:
// vim.ahk
CapsLock::Send, {CTRLDOWN}{SHIFTDOWN}{SHIFTUP}{CTRLUP}{CTRLUP}
return
!^CapsLock::CapsLock
CapsLock & j :: Send {Down}
CapsLock & k :: Send {Up}
CapsLock & h :: Send {Left}
CapsLock & l :: Send {right}
CapsLock & p :: Send {PGUP}
CapsLock & `; :: Send {PGDN}
CapsLock & ^ :: Send {home}
CapsLock & $ :: Send {end}
这个代码是否足够稳定?问题是,CapsLock
有时
更新:我发现CapsLock
当按下除上述键以外的任何键时,它都会打开。(hkll;pae
)
答案1
将其添加到脚本的顶部。
SetCapsLockState, AlwaysOff
!^CapsLock::CapsLock
它应该停止所有您未创建的 Capslock 事件。
http://www.autohotkey.com/docs/commands/SetNumScrollCapsLockState.htm
答案2
我不再摆弄CapsLock 作为修饰键由于一致性推理(如果你没有在别人的电脑上安装它,你将会非常迷茫)。因此,CapsLock
我使用ALT+SHIFT (!+)
修饰符,因为它不常见,但仍然足够舒适,可以轻松达到。我可以up/down/left/right (kjhl)
像 Vim 那样使用 AutoHotkey 复制箭头键,但在使用 Windows ALT+TAB 时无法导航这些键(请参阅下文了解我是如何意外找到解决方案的)。
然后,我偶然发现了一个解决方案,可以在 Windows ALT+TAB 上使用 Vim 导航键而不会消失。我无法解释它,但它确实有效,我将发布我当前的设置并向您展示我偶然发现的不同之处。
AHK VIM 导航热键
如果这些键不适合您,请根据您的喜好进行更改。我只是更喜欢
shortnavigation-keys (up/down/left/right)
匹配的 vim,并且只为longnavigation-keys (home/end/pgup/pgdn)
!+[::SendInput, {Escape} !+k::SendInput, {Up} !+j::SendInput, {Down} !+h::SendInput, {Left} !+l::SendInput, {Right} !+p::SendInput, {Home} !+u::SendInput, {End} !+o::SendInput, {PgUp} !+i::SendInput, {PgDn} !+0::SendInput, ^{Tab} ; tabmove-forward !+9::SendInput, !^{Tab} ; idk why, but doesn't tabmove-backward
WIN ALT+TAB 带 VIM-NAVIGATIONKEYS(静态菜单,由于之前按下了另一个热键)
- 启用
!+9::SendInput, !^{Tab}
- 按下 ALT+SHIFT+9 后,继续按住 ALT+SHIFT 并使用 kjhl 导航 :D
WIN ALT+TAB 带 VIM-NAVIGATIONKEYS(不能,因为菜单已关闭)
ALT+TAB
- 现在继续按住 Alt,然后按住 Shift,然后开始使用模仿的 vim 导航键即 kjhl,注意窗口消失了:(
- 常用键是用于基本功能的典型键,例如剪切/复制/粘贴和选项卡切换,所有这些键都只使用一个修饰键和一个按键的组合,除非用于 Windows 虚拟桌面导航
- 例如,Windows 虚拟桌面切换使用 CTRL+WIN+LEFT/RIGHT
- 最好还是使用普通热键,不要对其进行过多的自定义,除非你能证明你的方法更好
- 短导航键和长导航键有什么区别?
- 短导航键:上/下/左/右
- 长导航键:home/end/pgup/pgdn