我正在尝试保存保留BOM的UTF-8文件。由于某种原因,行setglobal bomb
对我不起作用:该文件另存为普通UTF-8。
以下是有关我的Vim的技术详细信息:
:echo has('multi_byte')
显示1
这是我的_vimrc:
if has('multi_byte')
if &termencoding == ''
let &termencoding = &encoding
endif
set encoding=utf-8
setglobal fileencoding=utf-8
setglobal bomb " Doesn't work?
endif
set laststatus=2
if has("statusline")
set statusline=%<%f\ %h%m%r%=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"}%k\ %-14.(%l,%c%V%)\ %P
endif
嗯,正如我后来发现的那样,它看起来像个错误。重现步骤:
foo
):enew!
所以,我的问题是:如何在Vim启动时立即启用BOM(即在第1步)?
答案 0 :(得分:3)
来自:help 'bomb'
:
本地缓冲
来自:help :setglobal
:
Command global value local value :set option=value set set :setlocal option=value - set :setglobal option=value set -
因此,的不的错误:你的setglobal bomb
设置全局选项,但的不的设置你的起始缓冲的本地选项。将setglobal bomb
更改为set bomb
,以同时影响您的启动缓冲区。