背景: JEdit(以及其他一些文本编辑器)支持称为多个同时文本插入点的功能.(至少那是我在这里所说的).
要了解这意味着什么,请查看链接.
出于对现代的文本编辑器使用所有功能,最初的研究似乎表明,这是一个特点,既 Emacs和Vim实际上并不支持.如果正确的话,这将是非常特殊的,因为找到一个文本编辑器功能很难进入这两个老派编辑中的至少一个.
问题:有没有人在Emacs,Vim或两者中看到或实现过这个功能?如果是,请指出解释详细信息的链接,脚本,参考或摘要.
如果你知道另一种做同样(或类似)事情的方法,请告诉我.
vim的方法就是这样做.重复最后一次更改的命令.所以,例如,如果我更改指向引用的指针,并且我有一堆obj-> func,我想要更改为obj.func然后我搜索obj->,执行2cw将obj->更改为obj .然后执行nnn直到所有实例都被更改.
也许并不像你所说的那样灵活,但它经常工作,并且非常直观和快速.
moccur-edit.el
几乎做你想要的.将显示与正则表达式匹配的所有位置,并且编辑匹配会在相应的源中进行更改.但是,编辑是在事件的单个实例上完成的.
我想它可以直接扩展它以允许你同时编辑它们(至少在简单的情况下).
有一个演示它发现在这里.
事实证明,最新版本的moccur-edit不会实时应用更改 - 您必须应用更改.这些变化现在也可以撤销(很好的胜利).
在EMACS中,您可以/将M-x find-grep
使用宏和宏.如果你真的坚持它是全自动的,那么你将find-next
在宏中包含它.
但老实说,这让我觉得它是一种微软功能:是的,它增加了功能列表,但为什么要这么麻烦?你会记得它在六个月内存在,当你想再次使用它时?