猫态编辑:Meow

又修了 grab 的一个 bug,感觉问题越来越少了,但是自己总是想不起来用。

使用功能单一的,但是互相可组合的命令。命令之间通过一些概念连结起来(尽量在复用 emacs 中原本就有的概念)。

这个图大概就是命令之间组合产生的效果。有些效果是在一开始设想好的,而有些则是用的过程中发掘的。有一种说法是

Scale by create potential.

2 个赞

虽然还没开始用,但是论坛上还有一个 Sniem,考虑不考虑两者合作,推出一个终极项目来,用户也不用去比较纠结了。

最近在修补小问题和改进文档,整体是稳定的,应该不会再有功能性的改动。

另外这类东西需要的是确定的思路和确定的边界,合作做加法未必就终极。

1 个赞

模式编辑怎么合作,

顶多有人吸收一些思想和方法论写一个新的项目,

纠结学哪个不如直接上手玩一下.

看文档一直get不到这个模式的内在逻辑, 囧

今天特意装上试了下,体验是:一是要适应新的按键设置(这个可以慢慢习惯,应该不是大问题),二是碰到了个bug(在不同情况下会出现,简单看了下代码,应该是同一个问题导致的)。

如何复现:

  1. 用的是Qwerty设置;
  2. f查找某个字符;
  3. 按g;
  4. 随便按数字(譬如3)

这时候就会报错误的参数类型。

按我的理解,上面第2步应该是结束选择,在第3步会根据数字重复第1步执行的动作。但是在内部用到的(meow--selection-type)只在当前有活动区域时才会返回有效的值,否则就会返回个nil,就导致调用方参数错误。

Edit. 我是在Arch上用的native-comp分支的Emacs。

Bug 修复了,这个场景下应该是什么都不做,数字默认绑定的 expand 是用来在移动一下之后,根据 当前选择 进一步移动的。

关于内在逻辑如果有什么困惑的地方可以提出来。我也一直想重组文档,感觉需要从某个角度切入,而不是流水帐的列出各种信息。

我只是感觉两者很像,如果能设计出一个包含两者优点的终极模式来,这些工作就不会重复了。

这大概是 sniem 的起源。我理解的 sniem 是个从 evil 角度出发的方案。

赞修复速度。

我虽然说是觉得get不到逻辑,但我其实也说不太出来困惑在哪。可能再用用,有更多体会了能再说道说道。

你这样说我才反应过来现在的文档里面已经没有最开始时写的那个目的或是要解决的问题了。

  1. 解决需要手工绑定很多快捷键的问题,简单来说就是用 Emacs 自己的快捷键和插件自带的快捷键,但是提供一种不需要修饰键执行的方式,这个见 KEYPAD。思路来源是 God Modeboon
  2. 结合移动命令和选择命令,这个应该是要看 Meow 提供各种 commands。这个思路的来源是 Kakounekakoune.el
  3. 解决和下层的命令不好兼容的问题,类似同时兼容 smartparens 或 paredit 这样的问题。思路的来源是 Modalka
  4. 解决在各种 special-mode 下各种 hack 的问题,有专门的 MOTION 模式用来支持。

其余的一些感觉不对的就都放弃了。

1 个赞

目前不是了,snime 目前也是采用的不同的编辑方案。

可能比较困难吧,两个编辑模式的理念和逻辑相差有点大。都试试,就能找到适合自己的了。

添加了 meow-keypad-describe-key,类似 describe-key 不过是用 KEYPAD 的输入方式。


添加了对 polymode 的处理,现在选择可以跨过 polymode 的 chunk 了。

重做了 thing 中的 line 的 inner/begin/end 的范围。之前 inner 和 bounds 是相同的,和 meow-line 直接的行选很相似。

现在 bounds 没有变化,begin 是 back-to-indentation 的位置,end 是 line-end-position 的位置。可以用来方便的选到第一个非空字符或末尾(不含换行)。

2 个赞

话说使用emacs-rime的时候好像输入全部被rime捕捉了,要怎么设置呢?

(use-package rime
  :custom
  (default-input-method "rime")
  (rime-disable-predicates
   '(rime-predicate-org-latex-mode-p
     rime-predicate-hydra-p
     rime-predicate-org-in-src-block-p
     rime-predicate-ace-window-p
     meow-normal-mode-p)))

设置了一下,好了,建议狗哥在Readme里面提一下,感觉新手可能会比较困惑。

meow 的文档已经太复杂了,一直想优化

询问下,在猫态下我没有找到常用翻页按键绑定,比如emacs 原生的C-f M-v ,另外跳转到文件头及文件尾也未发现。

常用的翻页可以自己绑定,就用原生的翻页命令就可以。比方说可以绑在组合键,比如可以放在 selection-fallback-commands 里面,或是放在默认未使用的位置。其实所有的绑定都是看喜好的。

到文件开头可以 spc m <,也可以是 begin-of-thing buffer 后者的话还可以用 pop 命令直接回到原来的位置。