Quelle est la différence entre ces deux commandes ?
set encoding=utf-8
set fileencoding=utf-8
Dois-je définir les deux lorsque je veux utiliser utf-8 ?
De même, dois-je définir le codage des fichiers avec la commande set
o setglobal
?
Quelle est la différence entre ces deux commandes ?
set encoding=utf-8
set fileencoding=utf-8
Dois-je définir les deux lorsque je veux utiliser utf-8 ?
De même, dois-je définir le codage des fichiers avec la commande set
o setglobal
?
Dans le premier cas avec
set encoding=utf-8
vous changerez l'encodage de sortie qui est présenté sur dans le terminal.Dans le second cas, avec
set fileencoding=utf-8
vous changerez l'encodage de sortie du fichier qui est écrit sur .
Comme indiqué par @Dennis, vous pouvez les définir tous les deux dans votre ~/.vimrc si vous voulez toujours travailler en format utf-8
.
De la wiki du VIM sur le travail avec l'unicode
" encoding
définit comment vim doit représenter les caractères de façon interne . Utf-8 est nécessaire pour la plupart des saveurs d'Unicode".
" fileencoding
définit le encodage pour un fichier particulier (local au tampon) ; :setglobal définit la valeur par défaut. Une valeur vide peut également être utilisée : elle prend par défaut la même valeur que 'encoding'. Vous pouvez aussi choisir l'un des encodages ucs, ce qui peut rendre le même fichier disque plus ou moins gros en fonction de votre mélange particulier de caractères. De plus, IIUC, utf-8 est toujours big-endian (le bit le plus élevé en premier) alors que ucs peut être big-endian ou little-endian, donc si vous l'utilisez, vous aurez probablement besoin de définir "bomb" (voir plus bas).
Vous pouvez définir la variable "fileencodings" dans votre fichier .vimrc.
Il s'agit d'une liste de codages de caractères pris en compte lorsque l'on commence à éditer un fichier existant. Lors de la lecture d'un fichier, Vim essaie d'utiliser le premier mentionné. Si une erreur est détectée, le suivant de la liste est essayé. Lorsqu'un encodage qui fonctionne est trouvé, 'fileencoding' est défini sur celui-ci. Si tous les essais échouent, la valeur de 'fileencoding' est fixée à une chaîne vide, ce qui signifie que la valeur de 'encoding' est utilisée.
Voir :help filencodings
Si vous travaillez souvent avec, par exemple, cp1252, vous pouvez l'ajouter ici :
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.