我有一个带有一些重音的文件,VIM将它们显示为“~V”字符。 “od -bc”命令告诉我字符是charcode 226.我想用VIM替换它们。但我不能让它与人物相匹配。我怎样才能做到这一点?
可选问题:如何让VIM告诉我哪个字符集用于解释当前文件?
答案 0 :(得分:2)
您可以使用以下格式,从vim关于模式和正则表达式的手册:
ordinary atom
magic nomagic matches
\%d \%d match specified decimal character (eg \%d123
\%x \%x match specified hex character (eg \%x2a)
\%o \%o match specified octal character (eg \%o040)
\%u \%u match specified multibyte character (eg \%u20ac)
\%U \%U match specified large multibyte character (eg \%U12345678)
所以你应该可以做这样的事情,用文件中的全局空格替换char 226:
:%s/\%d226/ /g
至于后者,如果你这样做:
:set encoding
你会看到如下输出:
encoding=latin1
答案 1 :(得分:1)
处理这种“怪异”角色的一个非常简单的方法是:
:%s/<ctrl-r>"/something-else/g
其中<ctrl-r>
按下ctrl和字母r - 以及“它会将缓冲区复制到命令行 - 有效地将您的违规字符放在s///
操作中。