Je veux taper dans différentes langues en utilisant (g) Vim. Mais lorsque je passe à une autre langue à l'aide de la barre de langue (caractères devanagari ou hindi) et que je tape quoi que ce soit, (g) affiche vim ??? ??
.
Ce que j'ai essayé:
write ++enc=utf-8 foo.txt
set fileencoding=utf-8
set enc=utf-8
Information:
- Version GVim: 7.4, ainsi que son + multi_byte.
- Aucune modification dans le fichier vimrc par défaut.
Je viens de commencer avec (g) vim.
microsoft-windows
unicode
msinfo
la source
la source
Réponses:
L'encodage par défaut semble être
latin1
:Lors de la saisie de caractères, Vim essaie de les convertir du jeu de caractères entrant (probablement unicode) en latin-1. Cela échoue car latin-1 n'a pas ces caractères. D'où les points d'interrogation.
L'ouverture d'un fichier existant (enregistré avec le bloc-notes ou un autre programme) devrait entraîner un texte tronqué, car maintenant Vim essaie simplement de lire les octets et de les interpréter en fonction du jeu de caractères latin-1, et non de les convertir en jeu latin-1.
Vous voudrez utiliser
utf-8
ou certains tels:Après quoi le script malayalam semble fonctionner.
Notez que cela ne fera pas fonctionner les points d'interrogation préexistants. Ceux-ci sont vraiment convertis en points d'interrogation (caractère
0x3f
) en entrée. Il n'y a aucun moyen de récupérer ce qui a été entré. Je soupçonne que c'est la source de confusion de cette question.Voir aussi
:help 'encoding'
.En tant que sidenote, les glyphes non pris en charge dans la police sont généralement rendus avec un glyphe distinct; cela varie selon la police, mais il s'agit généralement d'un bloc carré ou d'un point d'interrogation de style différent. vous pouvez voir la différence entre un "vrai" point d'interrogation et un glyphe non pris en charge avec
g8
, qui affichera le code du caractère.la source