SourceTree pensa que .vimrc é binário

0

O SourceTree acha que o .vimrc é binário, então não consigo ver o diff dentro da janela.

Com base em esta página , eu pensei que era por causa da codificação, então tentei mudar a codificação para utf-8 usando os seguintes passos de esta página :

:set bomb
:set fileencoding=utf-8

mas isso não resolveu. O que preciso fazer?

[Update] Corrigido:

Havia um caractere não ascii (controle de dispositivo três, 0x13) que não aparecia no Vim, mas é renderizado como "DC3" no Sublime Text. Depois de excluí-lo, o problema foi resolvido! Obrigado por toda a ajuda.

    
por EthanP 07.07.2013 / 19:34

2 respostas

0

Desativar a opção BOMB. (Byte Order Mark Bytes)

Adiciona dois bytes ao início de um arquivo de texto para indicar o endianness. Eles são 0xFF & 0xFE, eu esqueço qual é a ordem, mas é por isso que o seu VCS acha que o seu .vimrc é um arquivo binário.

Você deve editar seu arquivo .vimrc, e depois DESLIGAR a opção de bomba e salvar .vimrc. Isso deve remover os bytes da lista de materiais. Na pior das hipóteses, redefina / remova a opção BOMB do seu arquivo .vimrc e, em seguida, use o modo binário do vim para remover os bytes icky.

# edit .vimrc
$ vim .vimrc
# remove / comment out the set BOMB line
# reset the BOMB option (:set nobomb)
# save file, exit vim

Se os bytes da lista de materiais desaparecerem (usar o arquivo), você estará pronto, confirme e aproveite. Se não:

# remove the BOMB bytes using binary mode
$ vim -b .vimrc
# save and exit, .vimrc should no longer have the BOMB bytes.

Além disso, o comando 'file' pode dizer se um arquivo possui os bytes BOMB também.

Você também pode usar o comando 'xxd' (vem com o vim) para visualizar os bytes hexadecimais de um arquivo:

xxd .vimrc | head

deve mostrar se os bytes da lista de materiais existem ou não. (É bastante útil para muitas coisas)

    
por 22.07.2013 / 16:45
0

Já experimentou a outra resposta da página stackoverflow?

Abra seu .vimrc no vim e:

:write ++enc=utf-8
    
por 09.07.2013 / 11:04

Tags