Qu'est-ce que le codage de fichiers .vimrc?

8

J'ai mis à niveau vim et maintenant il est mécontent de certaines valeurs UTF-8 dans mon .vimrc.

Cela m'amène à la question - lorsque vim lit .vimrc, quel encodage suppose-t-il que le fichier a? C'est à dire alors quoi fileencoding?

Dima Tisnek
la source

Réponses:

5

C'est tout ce que vous définissez :scriptencoding. il doit s'agir de la première ligne de votre .vimrcfichier, par exemple:

scriptencoding utf-8

set number
set ...

N'oubliez pas que certaines options ( listcharspar exemple) n'acceptent que des valeurs de largeur unique.

Edit: Ouais, Vim est bizarre. encodingest pour l'éditeur lui-même, fileencodingpour le tampon et scriptencodingpour les scripts Vim.

Tae
la source
Merci pour la réponse, j'ai pu réparer mon installation avec des hacks. J'apprécierais que la réponse soit mise à jour avec un exemple ~/,vimrcmontrant comment utiliserscriptencoding
Dima Tisnek
@DimaTisnek fait! Je ne veux pas l'écrire dans la réponse car ce n'est pas ce que vous avez demandé, mais les valeurs par défaut de Vim sont foirées à mon humble avis et je pense que c'est une bonne raison d'essayer Neovim (en fait, j'ai dû regarder dans mon ancienne configuration pour me souvenir la syntaxe de scriptencoding)
Tae
1
@Tae, sauf si vous êtes sous Windows, où Neovim est toujours loin derrière vim.
Maxim Kim
2

Comme indiqué dans les fichiers d'aide ( :help scriptencoding), si vous n'utilisez pas scriptencoding, vim n'effectue aucune conversion, en supposant effectivement que le script est dans le codage de l' 'encoding'option. C'est très souvent utf-8, parfois latin1. D'autres encodages sont possibles. En général, vous souhaitez utiliser

scriptencoding utf-8

lorsque votre fichier de script contient des caractères non ascii et est encodé en utf-8. Si vous n'utilisez que des caractères ascii 7 bits, cela n'est pas nécessaire.

'fileencoding's'applique au tampon actuel, pas aux scripts. Lors de l'ouverture d'un fichier, vim essaie de deviner l'encodage de l'option 'fileencodings'.

Masse
la source
Merci pour la réponse, j'ai pu réparer mon installation avec des hacks. J'apprécierais que la réponse soit mise à jour avec un exemple ~/,vimrcmontrant comment utiliserscriptencoding
Dima Tisnek