在Vim中,如何用组合字符替换文本?

在Vim中,如何用组合字符替换文本?,vim,Vim,在Vim中,对于文本é,e(\x65\u0301\x2c\x65): 如果我使用:s/\Ze/x/g,我得到x,x。如何获取x́,x 如果我使用:s/́/̂/g(用\u0302替换\u0301),我得到,e。如何获取ê,e?如果您使用perl支持编译vim,您可以尝试以下方法: :perldo s/e/x/g :perldo s/́/̂/g 如果́符号应该在符号上方,这对我来说是有效的,这是我使用您提供的序列时得到的。类似地,在第二个命令的结果中,我在符号上方得到了̂符号。但我仍然猜这是您

在Vim中,对于文本
é,e
(\x65\u0301\x2c\x65):

如果我使用
:s/\Ze/x/g
,我得到
x,x
。如何获取
x́,x


如果我使用
:s/́/̂/g
(用\u0302替换\u0301),我得到
,e
。如何获取
ê,e

如果您使用perl支持编译vim,您可以尝试以下方法:

:perldo s/e/x/g
:perldo s/́/̂/g

如果́符号应该在符号上方,这对我来说是有效的,这是我使用您提供的序列时得到的。类似地,在第二个命令的结果中,我在符号上方得到了̂符号。但我仍然猜这是您想要的,因为我在编译答案时遇到了相同的复制粘贴错误。

谢谢您的回答,但是有没有办法使用Vim的regexp?顺便说一下,
:!sed s/e/x/g
也能工作。我不得不承认我不知道。你描述的行为在我看来很不正常。也许你可以向Vim开发者报告?