V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
287854442
1.39D
V2EX  ›  分享创造

给 Capslock 键加了 KPI, vibe 了一个全局支持 Vim 风格导航的 app

  •  
  •   287854442 ·
    XueshiQiao · 1 天前 · 357 次点击

    CapsLock 竟然有两个使用上的烦恼,不知道各位是不是也一样:

    1. Capslock 的位置是个左手小拇指的 C 位,但是功能却很单一,只能调节大小写
    2. Capslock 其实它是可以作为修饰键的,但是基本上所有键盘映射软件都不支持它作为修饰键来进行映射,比如说我想映射 Capslock + H => Left Arrow ,目前似乎实现不了。

    我在 macOS 使用 Karabiner-Elements 把 Capslock 先映射为 Fn 键,然后基于 Fn 键也映射出了一堆我自己用的快捷键 (在这个帖子上 https://v2ex.com/t/768897)

    在 Windows 上我没有找到很好用的。我不喜欢用 AutoHotkey ,我之前用过它,然后它会触发一些很奇怪的现象,在我打游戏的时候,会莫名其妙地触发一些现象(大概变现像 Windows 键一直被按着,当我按 WASD 的时候,就直接触发了 Windows 加 WASD 的组合键,巨烦)

    然后我就想到 VibeCoding 一个,然后在的过程中,我发现 CapsLock 竟然可以作为"修饰键"来用,这样我不用麻烦去映射 CapsLock 键为其他键的。单按 CapsLock 本身(并抬起),还是起到它原来单按的作用。

    另外还有一个好处:既然 Capslock 键没有映射为其他的修饰键,那它就可以和其他修饰键一起用。

    比如 Capslock + H -> left, 那可以 Capslock + H + Shift -> 向左选择,同理可以加 alt/contrl

    然后很方便就实现了 Vim 里的上下左右

    • CapsLock + HLeft Arrow
    • CapsLock + JDown Arrow
    • CapsLock + KUp Arrow
    • CapsLock + LRight Arrow

    在此基础上,我又添加了一些我比较常用的一些键。当然,这些并不是 Vim 的标准。

    Extended Navigation

    • CapsLock + WNext Word (Ctrl + Right)
    • CapsLock + BPrevious Word (Ctrl + Left)
    • CapsLock + AHome (Start of line)
    • CapsLock + EEnd (End of line)
    • CapsLock + UUp 10x (Fast Scroll Up)
    • CapsLock + DDown 10x (Fast Scroll Down)

    Editing Shortcuts

    • CapsLock + IBackspace
    • CapsLock + ONew Line (End + Enter)
    • CapsLock + NDocstring Snippet (Inserts """""" and centers cursor)

    下面这些部分的映大概率不符合你心意,但我估计你大概率会有自己喜欢的映射方式。 我非常推荐你自己尝试去改成自己想要的样子,来实现完全的自定义,现在有了 VibeCoding 真的是很简单,有长尾收益。

    但是这里有一个小提示: 如果你是一个游戏玩家,已经把 Capslock 作为游戏里的功能键,比如我在 CS2 里会把下蹲调成 Capslock 。那一定要在开启游戏之前,把这个服务给暂停掉。否则在按下 CapsLock 键的时候并不能立即触发下蹲。

    因为这个项目的原理是: 当你按一下 Capslock 键的时候,它会检测其他键的触发,这个时候如果你继续按 H ,就会触发 left 。 所以在按下 Capslock 键的时候,并不会触发 Capslock 键本身的功能,在抬起 Capslock 键的时候,它会触发 Capslock 本身的功能。

    ps: 最近用 tauri 有点上瘾了...

    Github: https://github.com/XueshiQiao/GlobalVimLikeNavi/

    截图:

    1 条回复    2026-02-06 09:11:23 +08:00
    xy19009188
        1
    xy19009188  
       1 天前
    我是把大小写键改成 cmd 键使用
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1868 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:20 · PVG 09:20 · LAX 17:20 · JFK 20:20
    ♥ Do have faith in what you're doing.