Сохранить файл с сохраненной спецификацией - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь сохранить файл UTF-8 с сохраненной спецификацией.По какой-то причине строка setglobal bomb не работает для меня: файл сохраняется как обычный UTF-8.

Вот технические подробности о моем Vim:

  • gvim8.1.1 в Windows 7, без добавления плагинов или пользовательских патчей
  • :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

Редактировать:

Ну, как я позже обнаружил, это похоже на ошибку.Шаги для воспроизведения:

  1. Open Vim.Обратите внимание, что в строке состояния отсутствует индикатор спецификации.
  2. Напишите что-нибудь (foo)
  3. Выполните команду :enew!
  4. Обратите внимание, что в новом файле есть индикатор спецификации.

Итак, мой вопрос: как я могу сразу включить BOM при запуске Vim (т.е. на шаге 1)?

1 Ответ

0 голосов
/ 01 февраля 2019

С :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, чтобы повлиять и на ваш начальный буфер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...