使用 hammerspoon 提升工作效率

Author Avatar
Teeeemoji 10月 23, 2017
  • 在其它设备中阅读本文章

使用 hammerspoon 提升工作效率

分享会上, 吴俊分享了一款软件 -hammerspoon, 功能就是让手指可以不用脱离键盘的主要工作区域.

这款软件可以实现, 在 mac 下定义全局快捷键, 可以对这些快捷键进行变成, 以完成一些特的操作,并且提供了强大的 API.

这款软件跟 Alfred 的区别在于, 它对 mac 系统的支持特别好, 提供了很多直接操作 mac 系统窗口的 API, 还提供了直接操作电脑硬件如 蓝牙/wifi/屏幕/开关机之类的接口.可以直接改变你操作电脑的方式.

简单地使用 hammerspoon

根据吴俊描述, 我对 hammerspoon 的功能非常感兴趣.

使用 hammmerspoon 重新定义快捷键, 代替方向键(上下左右).

我使用 ctrl + IKJL 代替方向键. 吴俊使用 vim 编辑器的配置(ctrl + JKL;)

我是觉得 vim 的配置反人类啊, 我来用就分分钟按错, 更影响效率

因为, 如果我使用机械键盘工作的话, 手距离触摸板的距离会非常远, 频繁切换手的状态会分散精力的.(另一个是我的机械键盘是61的, 没有方向键, 右手去找 fn 也是一件不愉快的事情)

使用方法

以下内容都是 teeeemoji 参考 官方文档 写出来的.

值的注意的是, 上下左右键长按的时候, 是有 repeat 事件的. 因此记得写 reaptFn.而释放按键的事件,我是不需要的, 因此置为 nil.

值的注意的是, keyStroke 方法有一个参数 delay, 默认是200ms, 使用默认配置的时候, 按钮重复速度十分慢, 体验非常差. 我设置为0后, 就变得跟系统的按键重复配置一致了.

具体配置

下面贴具体配置

hs.hotkey.bind({"ctrl"}, "I", function()
  hs.eventtap.keyStroke({},'up',0);
end,nil,function()
  hs.eventtap.keyStroke({},'up',0);
end);

hs.hotkey.bind({"ctrl"}, "K", function()
  hs.eventtap.keyStroke({},'down',0);
end,nil,function()
  hs.eventtap.keyStroke({},'down',0);
end);

hs.hotkey.bind({"ctrl"}, "J", function()
  hs.eventtap.keyStroke({},'left',0);
end,nil,function()
  hs.eventtap.keyStroke({},'left',0);
end);

hs.hotkey.bind({"ctrl"}, "L", function()
  hs.eventtap.keyStroke({},'right',0);
end,nil,function()
  hs.eventtap.keyStroke({},'right',0);
end);

This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:http://teeeemoji.xyz/2017/10/23/use-hammerspoon/