MacBook 键盘效率工具推荐

2022.01.23
SF-Zhou

上一台 MacBook 是 2016 年底购买的,如今廉颇老矣力不从心了。前两天挂到了闲鱼上以 4000 的价格出掉了,然后下单了 MacBook Pro 14 低配。给新机器做了一次初始化,顺便分享下笔者日常离不开的几个键盘效率工具。

1. Karabiner Elements

笔者是一名 Vim 用户,VS Code 中也使用 Vim 插件,日常离不开 Esc 键。一直不习惯用小拇指按 Esc,所以会把 Ctrl 单击修改为 Esc,长按仍然是 Ctrl。然后再把 Caps Lock 整个替换成 Ctrl 键,这样 MacBook 自带的键盘和 HHKB 就可以保持一致的键位了,并且小拇指按 Esc 也方便很多。这个修改可以通过开源的 Karabiner Elements 实现。如果你依赖于原有的 Caps Lock 切换中英文输入法,也可以将单击 Shift 映射为 Caps Lock 键。

笔者的配置文件:https://github.com/SF-Zhou/dot-files/blob/master/karabiner/karabiner.json

2. Hammerspoon

Hammerspoon 是一款开源软件,支持使用 Lua 脚步自定义快捷键的功能。笔者日常使用软件时喜欢全屏或者半屏,就会使用该软件将 Cmd + Shift + Left/Right/Up 映射为当前窗口左半屏、右半屏和全屏。这里的全屏不是苹果原生的新桌面的全屏,只是将窗口拉到当前桌面最大的位置,这样切换窗口时也不会有动画过渡的时间。Lua 脚本样例:

-- disalbe animations
hs.window.animationDuration = 0

-- for whole window
hs.hotkey.bind({"cmd", "shift"}, "Up", function()
  local win = hs.window.focusedWindow()
  local f = win:frame()
  local screen = win:screen()
  local max = screen:frame()
  win:setFrame(max)
end)

-- for left half window
hs.hotkey.bind({"cmd", "shift"}, "Left", function()
  local win = hs.window.focusedWindow()
  local f = win:frame()
  local screen = win:screen()
  local max = screen:frame()

  f.x = max.x
  f.y = max.y
  f.w = max.w / 2
  f.h = max.h
  win:setFrame(f)
end)

笔者的配置文件:https://github.com/SF-Zhou/dot-files/blob/master/hammerspoon/init.lua

3. Manico

本次推荐中的唯一一款商业软件,当然你也可以找到开源的平替。笔者使用该工具进行软件的无脑切换,常用的软件 Firefox、iTerm2、VS Code 等依次摆在 Dock 栏里,使用 Cmd + 1/2/3/4 映射,需要切换时直接按对应的快捷键。常用软件的位置不会发生修改,形成肌肉记忆后非常迅速;因为不使用苹果自带的全屏,所以也不会有动画过渡的时间,所按即所得。

4. Summary

上述三款软件均支持苹果芯片原生执行,可以通过 Homebrew 安装:

brew install karabiner-elements hammerspoon manico