2013-05-04 163 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