代码之家  ›  专栏  ›  技术社区  ›  john c. j.

保存保留BOM表的文件

vim
  •  0
  • john c. j.  · 技术社区  · 6 年前

    我正在尝试保存保存BOM的UTF-8文件。由于某种原因,这条线 setglobal bomb

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

    • Windows 7上的gvim 8.1.1,未添加插件或自定义补丁
    • :echo has('multi_byte') 1

    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
    

    我后来发现,它看起来像一只虫子。复制步骤:

    1. 写点什么( foo )
    2. :enew!

    所以,我的问题是:如何在Vim启动时(即步骤1)立即启用BOM?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Amadan    6 年前

    从…起 :help 'bomb' :

    本地到缓冲区

    从…起 :help :setglobal :

            Command          global value       local value
          :set option=value      set                set
     :setlocal option=value       -                 set
    :setglobal option=value      set                 -
    

    因此 虫子:你的 setglobal bomb 设置全局选项,但 设置启动缓冲区的本地选项。改变 全球炸弹 set bomb 以影响您的启动缓冲区。