最近使用 Emacs 的 M-x replace-string
进行查找替换, 有个问题特别困惑,在此请教各位指点一二。
在 c++-mode
下我有下面的的三行文字:
a();
b();
c();
我想替换为
a()
{
}
b()
{
}
c()
{
}
我使用 M-x replace-string
,把;
替换为
{
}
我使用方式为:
结果却是:
a()
{
}
b();
c();
最近使用 Emacs 的 M-x replace-string
进行查找替换, 有个问题特别困惑,在此请教各位指点一二。
在 c++-mode
下我有下面的的三行文字:
a();
b();
c();
我想替换为
a()
{
}
b()
{
}
c()
{
}
我使用 M-x replace-string
,把;
替换为
{
}
我使用方式为:
结果却是:
a()
{
}
b();
c();
只能正确替换第一行
并没有问题;
一直按y
或者直接按 !
replace-match-maybe-edit: Match data clobbered by buffer modification hooks
我的提示这个, 看来应该是被某个hook打断了
你的 replace-string
用法没问题,你的写法等于:
(replace-string ";" "\n{\n}\n")
至于你那里出现的状况,尽量自己先搞清楚如何重现,比如说从 Emacs -Q 也有问题吗?
多谢, 用emacs -q启动确实没问