猫态编辑:Meow

好像还是有点问题。。。截图中本应该执行 discard 的操作的,但实际按 SPC k 会 drop stashes 。。。

1 个赞

这就有点奇怪了,你用 M-: 看下 (key-binding (kbd "H-k")) 对应的是什么命令呢?

在你 SPC k 的时候,实际执行的 H-k。 在我这里就是 magit-discard, 然后 magit 会问 discard hunk?

看起来是已经有对应的命令了?

这样的话看起来 meow 工作的没有问题,因为 remap 到了这个命令。

meow 没有干预 magit remap 相关的功能。

不太明白的是,为什么之前的那个版本的 meow,在调用 magit-status 后,退出,再进入一次 magit-status后,SPC k 就能正常工作

那并不是正常工作,上一个版本的 meow 是在 buffer 里面第一次启动了 meow (也就是每次打开 magit-status 的时候)记住了当时的 command。两次打开 magit 的时候,因为光标的位置不同,所以两次分别记住了 delete-thing 或是 discard。第二次打开之后,就算移动光标去该是 delete-thing 的地方,命令依然是 discard,因为 meow 不知道什么时候会发生 remap。

解决了一直想解决的 bmacro 里面的两个问题。

“每 N 行” 的情况

比如一定范围内每 “4行” 为一组进行一些操作。

nlines

操作方式

  • 用 grab 将处理范围做为第二选区
  • 用 line 选择 4 行,(任意位置的 4 行皆可)
  • F3 激活宏的录制(也可以用 insert, append, change 来快速编辑)
  • 编辑
  • F4 结束录制同时应用到所有的位置

几个连续词(符号中一部分内容)

比如想一次的改了所有的 foo-bar

multi-word

操作方式

  • 用 grab 将处理范围做为第二选区
  • 用 mark-word 选择一个词
  • 用 next-word/back-word 扩展选择
  • F3 激活宏的录制
  • 编辑
  • F4 结束录制同时应用到所有的位置

顺便修复了一些 BUG

4 个赞

第二个这个牛逼啊,看着就好用

太强了太强了,真的厉害,我赶紧更新试试去

大佬,我觉得你可以把第二个功能改成 symbol-overlay 那种风格的,单独搞一个插件,肯定好用啊。

有这样的插件叫 iedit,虽然我觉得没有 meow 里面这么灵活。

meow 的第二选区里面的标记位置的方式有很多种,平时怎么移动的命令就会在里面怎么标记(虽然有些不能完全对应,但整体是一致的)。

1 个赞

第一个功能,在选择完成 4 行后,移到首行,再 insert 输入 = a , 再想将光标移到下一行继续输入时,先ESC退出insert 模式,这时候直接所有的行都添加了 = a。我怎么没办法实现你动图的效果呢? 改怎么操作?

bmacro 这个模式并不是 multiple cursors 的那种多光标,而是标记了多个位置去应用 kmacro. 选择 4 行之后,有两种方式

快捷的方式 用 insert, change, append 进入 INSERT 后就会开始录制,ESC 退出的时候结束并应用。是针对简单的场景的。

通用的方式 用 F3 之类的正常启动宏录制,用 F4 结束的时候自动应用。

图里演示的是后者。

1 个赞

我F3绑定了 meow-start-kmacro-or-insert-counter, 会提示: Can only start recording in NORMAL or MOTION state.

是不是这几个相关命令要增加bmacro模式的支持?

把这个绑定去掉就好了,meow 会自动在 normal和 bmacro 里面做 remap 的。 如果要绑定到某个键的话,绑定 kmacro-start-macro-or-insert-counter 就好了。


小更新了一下,也处理了用户手动绑了 meow-start-kmacro-or-insert-counter 的情况。

周末有空了正好重搞下文档。

1 个赞

周末重写了文档

校对一下之后就合并到 master 去,然后就准备 release 1.0

1.0.0 了,第一个正式的 release

6 个赞

@DogLooksGood

这里是不是应该用 meow--parse-input-event ,我测了一下 motionSPC SPC 失效了,原因是这里 string 得到的是 "",而不是 SPC

啊,不好意思。这个现在命令现在可以不用了。

因为原命令会 remap 到 H- 修饰的,所以用 H-原来的键 就行。

参照这里:


不过为了兼容,可能还是要处理一下这个命令。

怎么按出 H ?? :joy: