Vim 保存保留BOM表的文件

Vim 保存保留BOM表的文件,vim,Vim,我正在尝试保存保存BOM的UTF-8文件。由于某种原因,setglobal-bomb这一行对我不起作用:文件保存为纯UTF-8 以下是有关我的Vim的技术详细信息: Windows 7上的gvim 8.1.1,未添加插件或自定义补丁 :echo有('multi_byte')显示1 这是我的_vimrc: if has('multi_byte') if &termencoding == '' let &termencoding = &encoding e

我正在尝试保存保存BOM的UTF-8文件。由于某种原因,
setglobal-bomb
这一行对我不起作用:文件保存为纯UTF-8

以下是有关我的Vim的技术详细信息:

  • Windows 7上的gvim 8.1.1,未添加插件或自定义补丁
  • :echo有('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
if has('multi_byte'))
if&termcodeding==“”
let&termencoding=&encoding
恩迪夫
设置编码=utf-8
setglobal fileencoding=utf-8
“设置全球炸弹”不起作用?
恩迪夫
设置laststatus=2
如果有(“状态行”)

设置statusline=%来自
:帮助“轰炸”

本地到缓冲区

来自
:帮助:setglobal


因此,没有错误:您的
setglobal-bomb
设置了全局选项,但没有设置启动缓冲区的本地选项。将
setglobal-bomb
更改为
set-bomb
,以影响启动缓冲区。

来自
:帮助“bomb”

本地到缓冲区

来自
:帮助:setglobal


因此,这不是一个错误:你的
setglobal-bomb
设置了全局选项,但没有设置起始缓冲区的本地选项。将
setglobal-bomb
更改为
set-bomb
,以影响你的起始缓冲区。

Hmm,但似乎
setglobal
应该有它自己的优点吗?我的代码取自Vim-Wiki、 页面。我不知道为什么它是这样写的。我没有写:P参见
:help startup
了解序列:#2是创建初始缓冲区,#3是加载RC文件。
setglobal
设计上不会影响已经创建的缓冲区。但是,警告确实说明了一个很好的问题:你为什么还需要BOM?我从来都不需要BOMVim在读取带有BOM的文件时会打开
“bomb”
,此外,我建议只在您真正需要时才执行
:setlocal bomb
(如果您经常这样做,请执行命令或映射)(免责声明:并不是说我写的每件事都是完美的——我每天都做一些愚蠢的事情,只是我无法解释为什么我写的都是这样。)嗯,但是似乎
setglobal
应该有它自己的优势吗?我的代码取自Vim Wiki的第页。我不知道为什么它是这样写的。我没有写:P请参见
:help startup
序列:#2是初始缓冲区的创建,#3是RC文件的加载。
setglobal
不会影响已经创建的缓冲区然而,这个警告确实说明了一个很好的问题:你为什么还需要BOM表?我从来都不需要BOM表,只是在Windows编辑器“有用”的时候才对它大发雷霆“添加了它。此外,当读取带有BOM的文件时,Vim将打开
“bomb”
,我建议只在您真正需要它时执行
:setlocal bomb
(如果您经常这样做,请执行命令或映射)(免责声明:并不是说我写的每件事都是完美的——我每天都做一些愚蠢的事情,只是我无法解释为什么我写的都是这样。)
        Command          global value       local value
      :set option=value      set                set
 :setlocal option=value       -                 set
:setglobal option=value      set                 -