Atualizei o vim e agora está descontente com alguns valores UTF-8 no meu .vimrc
.
Isso me levou à pergunta - quando o vim lê .vimrc
, que codificação assume que o arquivo possui? Ou seja, o que é fileencoding
então?
É o que você define com o que é :scriptencoding
. deve ser a primeira linha do seu .vimrc
arquivo, por exemplo:
scriptencoding utf-8
set number
set ...
Esteja ciente de que algumas opções ( listchars
por exemplo) aceitam apenas valores de largura única.
Edit: Sim, Vim é estranho. encoding
é para o próprio editor, fileencoding
é para o buffer e scriptencoding
é para scripts do Vim.
~/,vimrc
como usarscriptencoding
scriptencoding
)Conforme sugerido nos arquivos de ajuda (
:help scriptencoding
), se você não usarscriptencoding
, o vim não fará conversão, assumindo efetivamente que o script está na codificação da'encoding'
opção. Isso é muito frequenteutf-8
, ocasionalmentelatin1
. Outras codificações são possíveis. Geralmente você quer usarquando seu arquivo de script contiver caracteres não-ascii e estiver codificando em utf-8. Se você usar apenas caracteres ascii de 7 bits, isso será desnecessário.
'fileencoding'
aplica-se ao buffer atual, não a scripts. Ao abrir um arquivo, o vim tenta adivinhar a codificação a partir da opção'fileencodings'
.fonte
~/,vimrc
como usarscriptencoding