Remover marca de ordem de byte (BOM)

7

Antecedentes

Execute arquivos SQL usando pgsql que foram editados com o gVim no Windows.

Problema

O caractere BOM causa erros de sintaxe com pgsql . Eu gostaria de editar arquivos usando o gVim e, quando salvo, não mais ter um caractere de BOM. Se o arquivo tiver o caractere BOM, salvá-lo manterá o caractere BOM, o que não é desejado.

Idéias

Alterou as configurações ( Editar »Configurações de inicialização ) da seguinte forma:

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
au BufReadPre set nobomb
au BufReadPre setlocal nobomb
au BufReadPre setglobal nobomb
au BufReadPost set nobomb 
au BufReadPost setlocal nobomb 
au BufReadPost setglobal nobomb 
au BufWritePre set nobomb
au BufWritePre setlocal nobomb
au BufWritePre setglobal nobomb
au BufWritePost set nobomb
au BufWritePost setlocal nobomb
au BufWritePost setglobal nobomb
set encoding=utf-8 nobomb    " BOM often causes trouble
setlocal nobomb
setglobal nobomb

Não funcionou. Ainda tenho que digitar :set nobomb para remover explicitamente a lista de materiais.

Pergunta

Como você configura o gVim para que a BOM seja removida imediatamente após o carregamento do arquivo, sem ter que se lembrar de digitar :set nobomb todas as vezes? (Eu quero definir e esquecer isso.)

Obrigado!

    
por Dave Jarvis 06.12.2010 / 20:23

2 respostas

8

Tente isto:

au BufWritePre set nobomb
    
por 06.12.2010 / 22:31
2

Adicione isto ao seu .vimrc :

au BufWritePre * setlocal nobomb

(De um comentário para outro, pois esta é realmente uma solução melhor.)

    
por 06.10.2015 / 14:39