2013-05-04 161 views
2

我想从我的文件中删除\xef\xbb\xbf标记(BOM)。这是一个供给python的文本文件,BOM标记正在导致问题。我试过:set nobomb,但那些仍然存在。我该如何解决这个问题以及可能导致这个问题的原因?设置nobomb不删除vim中的字节顺序标记

UPDATE: 我的文件是通过组合(串联)许多其他文件(使用obabel软件)各自有BOM获得。所以,大概设置nobomb只在新文件开始时去掉BOM标记。在这种情况下,我如何删除所有物料清单?

+0

检查显而易见的第一个问题,是否保存在与':set nobomb'相同的会话中?从Vim的帮助:'当你不改变选项时,写入文件时BOM会被恢复。'或者另一种可能性:默认情况下你的vim配置是否已经设置为'nobomb'?如果是这样,那么':set nobomb'不会删除BOM字符,因为这些选项不会改变。 – rmunn 2013-05-04 12:28:55

+0

我保存在同一个会话中。我查看了我的vimrc文件,但没有找到与BOM相关的任何内容。 – DurgaDatta 2013-05-04 12:36:13

回答

1

如果字节序列嵌入到你的缓冲器,

:%substitute/\%ufeff//g 

可能已经做的伎俩。

+0

这不行,我得到的模式与它不匹配,我尝试了一些变化。 – DurgaDatta 2013-05-05 03:41:34

+0

@DurgaDatta是的,假设UTF-8文件类型和正确的编码,它应该可能是'\%ufeff',至少这对我有用。 – 2013-05-05 19:58:48

+0

它现在起作用了,我可能以前犯过一些错误。谢谢。 – DurgaDatta 2013-05-06 02:46:53