Giter Club home page Giter Club logo

Comments (9)

DogLooksGood avatar DogLooksGood commented on July 23, 2024 1

我加了一个 meow-select-on-exit,默认为 nil,设置为 t 后可以在退出之后选择输入的起点到当前的位置。

可以实现类似操作,比如把多个 foo 换成 bar

f|oo foo foo

使用 meow-mark-wordmeow-mark-symbol 选中第一个(mark的选择会进搜索记录),然后用 meow-change 改好了之后 ESC 退出修改的部分被选中,之后用 meow-save 复制,之后 meow-search 查找下一个,用 meow-replace 替换,重复这个操作。

应该可以适用多个相同内容的替换,后面追加(前面插入也可以,就是要翻下选择)

from meow.

DogLooksGood avatar DogLooksGood commented on July 23, 2024 1

查询的数量统计应该不是难事,主要是有几种 search 的包,在想要不要整合,不过似乎难度很大。

from meow.

DogLooksGood avatar DogLooksGood commented on July 23, 2024

非常感谢你的这些建议,感觉很多信息都非常有意义,也帮我自己理清了一些思路。

  1. 之前有考虑是不是一个键只应该做一件事,在没有 selection 的时候固定失败比较好。现在看来还是应该保留 fallback 的可能性,让所有的没有选择没有意义的命令都可以有 fallback 的行为。
  2. which-key 的功能集成我看到 god-mode 有做,但是我还没有弄明白要怎么实现,对于我自己的优先级并不是很高。
  3. Search 增加 overlay 来指示数量的问题,比较赞同,不过也许选择加在 mode-line,CtrlF 的 overlay 有时会有 bug。
  4. 文档的话正在 develop 分支的 README_CN.md 里面开始重写(先中文再英文)。
  5. meow-normal-state-mode-list 这个可以用来指定默认使用 NORMAL 模式,可能 shell 需要加到这里面来。
  6. repeat 相关的功能,Vim 中似乎是以动词命令做为开头开始计算,Meow 里面应该以创建 selection 开始?可能不是很合理,因为平时移动也有 selection。对于这样的操作,我个人是使用 kmacro 比较多。用 F3 录制,F4 结束。也许有更好的结合的方式。
  7. inner-of-thingbounds-of-thing 的问题可以给一个具体的例子吗?
  8. meow-join 更像是 back-to-indentation,支持 negative-argument

from meow.

meziberry avatar meziberry commented on July 23, 2024
  1. which-key 的功能集成我看到 god-mode 有做,但是我还没有弄明白要怎么实现,对于我自己的优先级并不是很高。

R:的确,需求并不是很强烈。

  1. Search 增加 overlay 来指示数量的问题,比较赞同,不过也许选择加在 mode-line,CtrlF 的 overlay 有时会有 bug。

R: 我有点不同看法:

  • CtrlF 相比较swiper 的优势在于 提供了更丰富的context展示,包括 位置/数量 指示。
  • 想下搜索的这个场景,搜搜候选有30个匹配,然后眼睛盯着搜索高亮的位置的上下文,来确定是不是要上下文位置。
    如果指示器在行尾,目光视野在不丢失上下文的情况下,很轻松能够获取当前所处的位置。如果目光转移到底部的mode-line,则视野的切换可能打断流畅的思维和顺畅的搜索体验。
  • 没有bug的软件应该是不存在的,软件产生的原因和价值,在于解决了痛点,满足了需求,不能因为要实现某个功能,可能带来bug, 就不去做了。觉得这个功能真的值得去做。体验会真的不一样。我elisp水平有限,可能提给狗哥,实现会更快。担心不稳定,可以放develop分支,或者默认关闭。
  1. repeat 相关的功能,Vim 中似乎是以动词命令做为开头开始计算,Meow 里面应该以创建 selection 开始?可能不是很合理,因为平时移动也有 selection。对于这样的操作,我个人是使用 kmacro 比较多。用 F3 录制,F4 结束。也许有更好的结合的方式。

R: 赞同,录制宏可能更好。repeat 细想收益不是很大。

7.inner-of-thing 和 bounds-of-thing 的问题可以给一个具体的例子吗

R: 比如下图,我想用inner-of-thing/bounds-of-thing选中meow-save, 当光标处于图示位置时,是没法选中的。
这个好像跟当前光标位置的理解有关。图示上看光标应该是在meow-save上的,但命令可能认为当前光标处于范围外。
造成的偏差。
image

增加疑问
meow-keyboard-quit 好像并不能达到类似和C-g动作同样的预期,我现在用它来取消选择。我用的姿势正确吗?

from meow.

DogLooksGood avatar DogLooksGood commented on July 23, 2024

我给一些命令重新加上了 meow--selection-fallback

meow-keyboard-quit 是为了实现 C-g,如果效果不对的话应该是有bug :(,加了个 meow-cancel-selection 专门用来取消选择(会 fallback)。

inner-of-thing/bounds-of-thing 这个我可以重现。

search 的数量提示我可以试着实现下。

from meow.

DogLooksGood avatar DogLooksGood commented on July 23, 2024

我也有考虑有没有办法用下层的逻辑来实现 meow-search,这样的话不管是用 ctrlf 还是 phi-search 都可以享受到对应的效果。

from meow.

meziberry avatar meziberry commented on July 23, 2024

built-in包 isearch 的 lazy-count-prefix-format 能不能利用上?

from meow.

DogLooksGood avatar DogLooksGood commented on July 23, 2024

尝试实现了 search 的时候加上数量的提示,但是发现有个比较严重的问题如果搜的内容在行末的时候,光标会被插入的提示文字挤走。

ctrlf 是没有光标的,所以没有这个问题。所以可能还是要换到 mode-line 中的实现比较好。不过你可以用现在的版本试一下。


找到了一个还不错的解决方案,现在如果不是最后一个字符,应该显示都没有问题了。可以关闭 issue 了,如果有问题再打开。

from meow.

meziberry avatar meziberry commented on July 23, 2024

测试工作正常。帅! 顺祝,新年快乐。

from meow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.