web-dev-qa-db-fra.com

Comment visualiser les caractères UTF-8 dans VIM ou Gvim

Je travaille de temps en temps sur des pages Web impliquant des scripts non anglais, la plupart d'entre eux utilisant le jeu de caractères utf-8, VIM et Gvim n'affichant pas correctement les caractères UTF-8.

Utilisation de VIM 7.3.46 sur Windows 7 64 bits, avec set guifont=Monaco:h10 dans _vimrc

Y'a t'il un moyen d'arranger cela?

Mise à jour: j'ai cherché sur Google et trouvé set guifontwide fait office de deuxième secours pour les langues régionales.

J'ai ajouté les lignes suivantes dans _vimrc et la plupart de mes problèmes ont été résolus.

set enc=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf8,prc
set guifont=Monaco:h11
set guifontwide=NSimsun:h12

La police NSimsun ci-dessus fonctionne pour le chinois. Le problème est que je ne sais pas comment ils ont obtenu le nom de la police pour fonctionner avec VIM. Courier New est mentionné comme Courier_New également NSimsun ne figure nulle part dans le répertoire de polices. La police que je veux utiliser est Latha Mais je ne sais pas comment l'utiliser dans _vimrc File. set guifontwide=latha:h12 ou set guifontwide=Latha:h12 ne fonctionne pas.

Si je réussis à définir la variable guifontwide sur latha, mon problème sera résolu, comment le faire?

92
Sathish Manohar

Essayez de recharger le document en utilisant:

:e! ++enc=utf8

Si cela fonctionne, vous devriez peut-être modifier les paramètres fileencodings dans votre fichier .vimrc.

56
Benoit

As-tu essayé

:set encoding=utf-8
:set fileencoding=utf-8

?

45
Maxim Sloyko

Sur M $ Windows, gvim ne vous permettrait pas de sélectionner des polices non monospaces. Malheureusement, Latha est une police non monospace. 

Il existe un moyen simple de le faire: Utiliser FontForge (vous pouvez télécharger le binaire Windows à partir de http://www.geocities.jp/meir000/fontforge/ ) pour modifier le fichier Latha.ttf et le marquer. comme une police monospaced. Faire comme ça:

  1. Charger fontforge, sélectionnez latha.ttf.
  2. Menu: Element -> Informations sur la police
  3. Sélectionnez "OS/2" dans la liste de gauche dans la boîte de dialogue Informations sur la police.
  4. Sélectionnez l'onglet "Panose"
  5. Ensemble proportion = Monospace
  6. Enregistrez la nouvelle version TTF de cette police, essayez-la!

Bonne chance!

6
Yi Zhao

Je ne pouvais pas faire apparaître d'autres polices installées dans mon éditeur Windows GVim. Je suis donc passé à Lucida Console, qui offre au moins un meilleur support UTF-8. Ajoutez ceci à la fin de votre _vimrc:

" For making everything utf-8
set enc=utf-8
set guifont=Lucida_Console:h9:cANSI
set guifontwide=Lucida_Console:h12

Maintenant, je vois au moins quelques caractères UTF-8. 

2
Ryan Shillington

Ce problème est-il résolu entre-temps?

J'ai eu le problème que gvim n'affichait pas tous caractères unicode (mais seulement un sous-ensemble, y compris les trémas et les caractères accentués), alors que :set guifont? était vide; voir ma question . Après avoir lu ce document, régler guifont sur une valeur raisonnable me le corrige. Cependant, je n'ai pas besoin de caractères au-delà de 2 octets.

2
Tobias

Sous Windows, sélectionnez simplement la police "Lucida Console".

1
Alex Dvoretskiy

Si des Japonais viennent ici, veuillez ajouter les lignes suivantes à votre ~/.vimrc

set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac
1
kujiy