好像还是有点问题。。。截图中本应该执行 discard 的操作的,但实际按 SPC k 会 drop stashes 。。。
这就有点奇怪了,你用
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行” 为一组进行一些操作。
操作方式
- 用 grab 将处理范围做为第二选区
- 用 line 选择 4 行,(任意位置的 4 行皆可)
- F3 激活宏的录制(也可以用 insert, append, change 来快速编辑)
- 编辑
- F4 结束录制同时应用到所有的位置
几个连续词(符号中一部分内容)
比如想一次的改了所有的 foo-bar
操作方式
- 用 grab 将处理范围做为第二选区
- 用 mark-word 选择一个词
- 用 next-word/back-word 扩展选择
- F3 激活宏的录制
- 编辑
- F4 结束录制同时应用到所有的位置
顺便修复了一些 BUG
第二个这个牛逼啊,看着就好用
太强了太强了,真的厉害,我赶紧更新试试去
大佬,我觉得你可以把第二个功能改成 symbol-overlay 那种风格的,单独搞一个插件,肯定好用啊。
有这样的插件叫 iedit,虽然我觉得没有 meow 里面这么灵活。
meow 的第二选区里面的标记位置的方式有很多种,平时怎么移动的命令就会在里面怎么标记(虽然有些不能完全对应,但整体是一致的)。
第一个功能,在选择完成 4 行后,移到首行,再 insert 输入 = a , 再想将光标移到下一行继续输入时,先ESC退出insert 模式,这时候直接所有的行都添加了 = a。我怎么没办法实现你动图的效果呢? 改怎么操作?
bmacro 这个模式并不是 multiple cursors 的那种多光标,而是标记了多个位置去应用 kmacro. 选择 4 行之后,有两种方式
快捷的方式 用 insert, change, append 进入 INSERT 后就会开始录制,ESC 退出的时候结束并应用。是针对简单的场景的。
通用的方式 用 F3 之类的正常启动宏录制,用 F4 结束的时候自动应用。
图里演示的是后者。
我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
的情况。
周末有空了正好重搞下文档。
周末重写了文档
校对一下之后就合并到 master 去,然后就准备 release 1.0
1.0.0 了,第一个正式的 release
这里是不是应该用 meow--parse-input-event
,我测了一下 motion
下 SPC SPC
失效了,原因是这里 string 得到的是 ""
,而不是 SPC
啊,不好意思。这个现在命令现在可以不用了。
因为原命令会 remap 到 H-
修饰的,所以用 H-原来的键
就行。
参照这里:
不过为了兼容,可能还是要处理一下这个命令。
怎么按出 H ??