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 é fileencodingentão?
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 é fileencodingentão?
Respostas:
É o que você define com o que é :scriptencoding. deve ser a primeira linha do seu .vimrcarquivo, por exemplo:
scriptencoding utf-8
set number
set ...
Esteja ciente de que algumas opções ( listcharspor 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.
scriptencoding)
Conforme sugerido nos arquivos de ajuda ( :help scriptencoding), se você não usar scriptencoding, o vim não fará conversão, assumindo efetivamente que o script está na codificação da 'encoding'opção. Isso é muito frequente utf-8, ocasionalmente latin1. Outras codificações são possíveis. Geralmente você quer usar
scriptencoding utf-8
quando 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'.
~/,vimrccomo usarscriptencoding
~/,vimrccomo usarscriptencoding