使用 hammerspoon 提升工作效率
使用 hammerspoon 提升工作效率
分享会上, 吴俊分享了一款软件 -hammerspoon, 功能就是让手指可以不用脱离键盘的主要工作区域.
这款软件可以实现, 在 mac 下定义全局快捷键, 可以对这些快捷键进行变成, 以完成一些特的操作,并且提供了强大的 API.
这款软件跟 Alfred 的区别在于, 它对 mac 系统的支持特别好, 提供了很多直接操作 mac 系统窗口的 API, 还提供了直接操作电脑硬件如 蓝牙/wifi/屏幕/开关机之类的接口.可以直接改变你操作电脑的方式.
简单地使用 hammerspoon
根据吴俊描述, 我对 hammerspoon 的功能非常感兴趣.
使用 hammmerspoon 重新定义快捷键, 代替方向键(上下左右).
我使用 ctrl + IKJL 代替方向键. 吴俊使用 vim 编辑器的配置(ctrl + JKL;)
我是觉得 vim 的配置反人类啊, 我来用就分分钟按错, 更影响效率
因为, 如果我使用机械键盘工作的话, 手距离触摸板的距离会非常远, 频繁切换手的状态会分散精力的.(另一个是我的机械键盘是61的, 没有方向键, 右手去找 fn 也是一件不愉快的事情)
使用方法
以下内容都是 teeeemoji 参考 官方文档 写出来的.
- hotkey 文档, 如何定义一个快捷键, 这个简单, 照抄光网的 demo 都可以知道如何定义一个快捷键. (还是标明,关键在 bind 方法)
值的注意的是, 上下左右键长按的时候, 是有 repeat 事件的. 因此记得写 reaptFn.而释放按键的事件,我是不需要的, 因此置为 nil.
- eventtap 点击事件文档, 不管鼠标还是键盘的点击事件都在这个文档里面.触发按钮事件的 API 是 keyStroke
值的注意的是, 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/