我正在尝试使用 VIm 中的替换命令,但没有得到我期望的结果:我正在编辑一个 html 文件,例如,我想用 é 代码替换所有“é”字符(是的,它是法语,是的,我真的喜欢让我的生活变得复杂:)。
然后我使用这个命令::s /é /é /gc
在要求确认的行中用 é 替换所有 é。这次它说没有找到模式,但是当它找到它时,它会添加而不是替换,因此结果是单词“piétons”被单词“piéétons”替换......字符 é 未被删除。
有人能解释一下我做错了什么吗?
答案1
你必须逃离这个&
标志。试试看:
:s /é /\é /gc
注意,我不知道是否需要,但您的替换仅在 é 后面有空格时才替换它。要替换所有 é,请使用以下命令(不带空格):
:s /é/\é/gc
答案2
...或安装recode
并
:%!recode -d utf-8..html