拓展spacemacs的leader key系统到macOS

spacemacs/Emacs/Vim上的leader key非常方便,我每天用touch bar点来点去拖来拖去的时候就很想在macOS下也能有方便的快捷键。

hammerspoon提供了很方便的框架使这一切成为可能。

hs-1-short

具体实现

我已经放到spoon里了,但是文档有点问题,解决了就能分享了。

1 个赞

多任务手势了解一下?

做好了快捷键肯定还是省事一点。 一个快捷键就可以完成打开safari–打开google的操作

Spotlight 了解一下。

firsttry

emmm……spotlinght当然也可以,但是速度肯定还是快捷键快一些,输入也少一些。当然多样性spotlight比较大。

这个想法在我的 hammerspoon 配置 里已经部分实现了。稍微缺了点东西,比如「链式」按键绑定,可视化支持等。不过「链式」按键的一大弊端是:提高了操作复杂度。这是我不愿看到的。所以一直没往这方面搞。

我个人的倾向是:类似于 emacs 的 minor mode,再配合 hammerspoon 的触发事件。这样 hammerspoon 配置有很大的想象空间。

我晚上有空看看你的代码。你也可以试下我的配置。

不知道你说的类似mknor mode具体有什么功能?只是 keybinding的话 hs.hotkey.modal 就很像minor mode。

另外主要函数就只有recursiveBind一个,其他的都是美化的

按键绑定是一方面,hammerspoon 的所有模块都能包装进来。http、socket、chooser、canvas、webview 等等。想象空间很大的。

可以有全局的 minor mode,也可以有针对某些场景、应用的 minor mode。

awesome-hammerspoon 配置的加载方式,就可以理解成是全局 minor mode。

大概看完你代码了。

要是改成 hs.canvas 绘制的 which-key 就好了。我还以为你截图中是这个呢 ……

which-keyminor-mode 都是 hammerspoon 可以探索的方向。

哈哈哈alert基本够用了,不够用再折腾canvas。 我觉得一个hammerspoon必要的功能是M-x。

关于minor-mode,其实参照emacs里define-minor-mode的实现就行,我觉得问题不大。 M-x做成一个全局table就行。

哇感觉hammerspoon未来一片光明啊。

还有一个我想解决的是spoon的安装问题,现在的hammerspoon有点像Emacs没有package.el的时候。

完善的 which-key mimic 还是需要 hs.canvas 绘制的,alert 功能不足。

关于 M-x,hammerspoon 的控制台已经能做很多事了。

目前是没有包管理器,主要原因是 spoon 太少。以后会有的。

http://www.hammerspoon.org/Spoons/

我会看看的,过几天弄一个canvas的出来,这样可以彩色显示可能也清楚一点。

M-x输入command(还能自动补全list),比console敲代码方便很多。当然console也有自动补全,但是肯定不会有command方便。就像你不会用eval-expression代替M-x一样

目前有包管理的相关项目吗?

这个好像是:Hammerspoon docs: SpoonInstall 不过我没用过。

包管理器目前不是太重要,手动下载下扔到 .hammerspoon/Spoons 目录就了事了,也不麻烦。

1 个赞

我主要是不想安装完了还要手动更新,那就太太太太麻烦了

btw,我的那个issue你看到了吗

Sorry,刚看到。在 GitHub 回复了。

1 个赞

M-x :smile:

m-x

你这中在之前刚升级到10.12, karabiner-element不成熟的时候用过.

这个我配置里已经有了。语意搜索 emoji,或者 emoji 搜索 emoji 也行。

emoji

不我不是说那个emoji,我是说那个类似M-x的操作。

是我没弄清楚,重点是之前的那个chooser,那里有所有的spoon和全局的函数(命令),这不就类似M-x么。