VIm:使用替代命令

VIm:使用替代命令

我正在尝试使用 VIm 中的替换命令,但没有得到我期望的结果:我正在编辑一个 html 文件,例如,我想用 é 代码替换所有“é”字符(是的,它是法语,是的,我真的喜欢让我的生活变得复杂:)。

然后我使用这个命令::s /é /é /gc在要求确认的行中用 é 替换所有 é。这次它说没有找到模式,但是当它找到它时,它会添加而不是替换,因此结果是单词“piétons”被单词“piéétons”替换......字符 é 未被删除。

有人能解释一下我做错了什么吗?

VIm 01 中的替换命令

VIm 02 中的替换命令

答案1

你必须逃离这个&标志。试试看:

:s /é /\é /gc

注意,我不知道是否需要,但您的替换仅在 é 后面有空格时才替换它。要替换所有 é,请使用以下命令(不带空格):

:s /é/\é/gc

答案2

...或安装recode

:%!recode -d utf-8..html

相关内容