猫态编辑:Meow

现在emacs的发行版都过度包装macro,导致出了问题无法调试。

emacs的配置不能光看着优雅,关键是要结构清晰,启动速度快,有问题可以通过二分注释法快速排查问题。

1 个赞

sort-tab更好用

对,我一直在用了,然后我绑定了两个按键对应next和first,方便又直观,比之前的,先切换到buffer列表,再选择对应的buffer,再确定进入,快了很多。现在一个按键往下翻,不用思考不用选择,盯着目标tab直达,不会打断思路,还保持了overview。有一个奇怪的问题是,有时候莫名会在tab下面多一个空行,我退掉awesome-tray发现这种情况下还会在sort-tab的小窗口下面多一个modeline,重启sort-tab就又消失了

偶尔就会出现这种情况,我暂时关掉awesome-tray的效果如下,如果开着awesome-tray不会有modeline,但仍然有空行

嗯,这是个场景。有办法,但可能不是特别方便。

meow-visit 中找位置实际上使用的是正则表达式,默认是简洁的模式。打开正则的话是

(setq meow-visit-sanitize-completion t)

之后 visit ^.+字符^.+?字符 就可以找到每行最后一个/第一个字符的位置了。 如果不用 visit 用 C-M-s 或 C-M-r 也可以。

first-char-each-line

1 个赞

当前的绑定应该也是可以多个按键的,类似这样。

(meow-leader-define-key
 '("# #" . forward-char))

如果要 which-key 的注释,就只能自己加了。像很多插件里面做的那样。

如果是 keypad 的注释的话,可以用 297 楼的那个方法。

这个方法符合需求,也不麻烦,相比于一行一行手动修改不知道快了多少哈哈。某种程度和之前的macro-lines有重合的部分,但优点是,配合当前状态的列编辑,可以边看效果边调整,心智负担低了

这个是我的痛点,我经常需要对org文件或者是log等纯文本调整内容。以前一般会写个脚本用正则捣鼓半天来抽取数据然后送到python或者module里分析,现在用meow的组合拳加宏搞定,不需要思考就不掉头发

我用 emacs -Q 测试了,没有你说的问题,我是 emacs 29, 我建议你遇到诡异问题,先用 emacs -Q 对比测试一下。

如果有问题反馈到 sort-tab 的帖子,不在这里歪楼了。

有人遇到过这种情况吗?

我在用 qwerty 布局的 meow,在第一次执行 magit-status 下按 SPC k 无法正确执行 magit-discard,而是执行了magit-delete-thing

magit-delete-thing默认是 remap 到magit-discard的。

当我第二次执行magit-statusSPC k才成功调用magit-discard

去掉 meow 后 magit 是正常的。

1 个赞

就是说 SPC k 的时候执行了应该被 remap 掉的命令?

是的,但再次执行 magit-status 后就能正确执行了

感觉是和 magit 不兼容。我自己 remap 的命令都是正常的。

同遇到过,但是我选择了“逃避”,将 discard 功能绑在了 evil magit 下的 x 上。。。

1 个赞

我知道了,magit 下面的 k 的命令取决于当前的光标的位置。如果在一个可以 discard 的修改上就是 discard, 不然就是 delete-thing。我要想想这个怎么处理。


我现在想到的一个办法就是改一下 motion 模式的机制。当前是给 SPC k 绑定一个固定的命令,可能更好的办法是把 k 指向的命令直接绑给 SPC k。在 motion 模式下构造一个临时的 keymap, 绑定命令,然后激活这个 keymap.

2 个赞

Emacs 使用默认主题启动 meow 会报错

Error while using default theme · Issue #74 · meow-edit/meow (github.com)

应该个这个commit有关

reading face color from inherit · meow-edit/meow@eb77de8 (github.com)

@DogLooksGood

修复了这个问题,github 上面回复了。

但是没有有些颜色的话,就没办法计算出合适的颜色。

其实在我这里没有办法重现这个问题,我列出的那几个 face 在我的 default 主题中都是有颜色的。

我用的是27.2.50 TUI。

现在更新了meow,已经没有问题了。

感觉是和 magit 不兼容。我自己 remap 的命令都是正常的。

最新的提交修复了这个问题,方法不是很优雅。

当前如果你绑了 k, 那么 k 的命令会被绑定到 H-k ,然后 SPC k 会执行 H-k 上面对应的命令。在 magit 做 remap 的时候,也会改掉 H-k 上面的命令,所以就没有影响了。

虽然用了 hyper 不是很好,但是其它的几种实现方式缺点更多。

想问下大佬这个是怎么实现的?我看了下Meow的代码似乎是通过绘制overlay来实现假光标,但是没搞懂怎么让这个overlay跟随光标移动更新。。。

替换了 redisplay-highlight-region-function 。这个函数是用来画 region 的 overlay 的,在 region 更新的时候就会调用。在这个函数里面完成了光标形状的修改和假光标 overlay 。


我其实不是很喜欢这样的方式。。。。觉得 emacs 原本是什么样就维持什么样子更好一些。所以现在默认关着的,对于新接触的人少一点 hack 就少一点出问题的可能性吧。

1 个赞