Comment définir l’encodage des caractères pour un fichier dans VIM

J’utilise :set fileencoding=utf-8 et le fichier est enregistré correctement, mais la prochaine fois que je l’ouvrirai, j’obtiendrai des caractères brouillés et :set fileencoding? dit que l’option n’est pas définie.

À partir des documents, je comprends que je ne devrais pas toucher l’option d’ encoding .

Quelle est la manière correcte de spécifier un codage pour un fichier dans VIM?

Utilisation

 set fileencodings=utf-8 

(avec un s à la fin) qui peut contenir une liste de différents encodages. Vim essaiera les encodages listés, de gauche à droite, jusqu’à ce que l’un fonctionne et il définira le codage du fichier sur cet encodage. Si aucun ne fonctionne, l’encodage de fichiers est défini sur une chaîne vide qui entraînera un comportement par défaut.

Aussi, il serait probablement judicieux d’append cela à votre vimrc pour ne pas le faire constamment.

Vous devez définir les fileencodings de fileencodings sur les différents encodages que vim doit essayer lors de l’ouverture d’un fichier, par exemple:

 set fileencodings=ucs-bom,utf-8,latin1 

De :help fileencodings :

Ceci est une liste de codages de caractères considérés lors du démarrage de l’édition d’un fichier existant. Lorsqu’un fichier est lu, Vim essaie d’utiliser le premier codage de caractère mentionné. Si une erreur est détectée, la suivante est essayée. Quand un encodage est trouvé qui fonctionne, fileencoding est mis à lui.

Il est préférable de placer ces parameters dans votre fichier .vimrc afin de ne pas avoir à les saisir manuellement chaque fois que vous démarrez vim.

Vous pouvez mettre cette directive dans un commentaire dans le fichier:

 # vim: set fileencoding= : 

Si vim n’affiche pas correctement votre fichier lorsqu’il est ouvert, spécifiez l’encodage avec : set encoding = utf8

  • ouvrir:

     vim ~/.vimrc 
  • append:

     set fileencodings=utf-8 set encoding=utf-8 
  • enregistrer et fermer en tapant:

     :wq 

Je lis beaucoup de discussions sur le codage VIM. Je trouve que l’astuce la plus importante est la suivante: avant d’ouvrir le fichier, vous devez d’abord ouvrir VIM, puis utiliser la commande suivante: edit ++ enc = nomfichier.ext Il peut gérer la plupart des questions sur l’encodage et l’encodage des fichiers.

les points clés incluent:

  1. Vous devez afficher le jeu de caractères correctement! sans affichage correct, toute autre opération peut provoquer un problème irrécupérable.
  2. une fois le fichier affiché correctement, si nécessaire, vous pouvez “: définir fileencoding = UTF-8”
    : write “pour que VIM puisse toujours l’afficher correctement.

Parce que je ne suis pas un utilisateur de langue maternelle anglaise, je pense que ma façon de procéder peut être validée.