ricebna
2023-10-14 09:27:02 +08:00
我用 Mac, 安装 Karabiner 后, 设定空格模式. 即按住空格后, 自定义各种键组合.
例如:
空格 + sdfe = 方向键;
空格 + jkli = shift + 方向键;
在编程这件事上, 方向键与 shift+方向键的使用频率, 一个几乎是 100%, 一个是 99%. 很有必要作为最基础最好用的快捷键.
另外的常用键组合如下:
空格 + w = page up
空格 + r = page down
空格 + a = 移到行首 (Mac 上各种软件, 打字编辑都有效)
空格 + g = 移到行尾
空格 + u = Add Selection for Next Occurrence (编程高频)
空格 + u = Add Selection for Next Occurrence (编程高频)
空格 + b = preview tab (Mac 上各种软件都遵循这个规范, 如浏览器左边标签页, vscode 左边标签页)
空格 + n = next tab
其他根据个人需要自行映射, 如我把切换最常用软件分别映射为:
空格 + t = Chrome
空格 + y = Idea
空格 + o = 微信
空格 + q = 飞书
空格 + v = iTerm2
我觉得 shift + 顶部数字键组合为符号键还是有点麻烦, 所以直接把顶部从最左边的 "`" 到 "+" 再到 "?" 全部映射为空格模式了.
为什么这样做? 因为如果我们在输入时手掌始终不离开当前键区的话, 效率最高的, 也少很多输入打断.
如果使用 shift 甚至是 command, 都得离开输入键区, 空格 + 各种键组合可以始终保持手掌键区不变.
相比之下, 我认为 vim 的模式转换就弱爆了, 我按住空格就是操作模式, 取消空格就是输入模式, 哪有那么麻烦.
如果真的要输入空格呢? 按一下空格就是真的空格, 担心误触, 不会, 本人已经实践 4 年, 这套模式已验证十分可靠.
Karabiner 非常强大, 我不知道 Windows 下有没有类似强大工具.
Karabiner 不仅能做键映射, 还能直接执行命令行, 能判断当前所处软件启用不同策略, 能检测当前硬件是键盘还是笔记本键盘, 还有鼠标相关控制.