Vim: Comment gérer les fichiers Unicode avec du texte en plusieurs (plus de deux) langues?

9

Quels paramètres dois-je définir dans Vim / gVim pour pouvoir afficher les fichiers texte Unicode contenant du texte dans de nombreuses langues?

Vous pouvez faire ces hypothèses:

  • Le nombre de langues est supérieur à deux.
  • Certaines des langues sont le chinois, le japonais et le coréen.
  • Il suffit que je puisse visualiser ces fichiers dans gVim (pas nécessairement Vim).
  • gVim 7.0 fonctionnant sous Windows.

Voici un exemple de texte qui, lorsqu'il est enregistré en Unicode, s'ouvre correctement dans le Bloc-notes, mais apparaît comme du charabia dans gVim:

This is English.
这是中文。
これは日本です。
한국입니다.
ಇದು ಕನ್ನಡ.
Ashwin Nanjappa
la source
Jerryjvl: Il semble y avoir un support Unicode dans GViM. Je n'ai pas réussi à lui permettre de fonctionner avec> 2 langues. vim.org/htmldoc/mbyte.html
Ashwin Nanjappa
3
Votre exemple fonctionne très bien lorsqu'il est collé dans gvim sous Linux. Suggestion de mise à niveau du système d'exploitation :-D
derobert

Réponses:

7

En utilisant gVim sur Windows, j'ai fait les deux choses suivantes:

:set encoding=utf-8
:set guifont=*

La deuxième commande fait apparaître un sélecteur de police. En choisissant la police "@MS Mincho", j'ai eu certains des caractères japonais à afficher, mais bizarrement, ils ont été tournés de 90 degrés vers la gauche.

Quoi qu'il en soit, vous devrez définir l'encodage avant de charger ou de coller du texte dans gVim (sinon il pourrait simplement les convertir en tous les points d'interrogation). Ensuite, vous devrez trouver une police qui a (a) une largeur fixe et (b) inclut les caractères que vous souhaitez voir. Je ne semble pas avoir une telle police sur mon système pour le moment, mais vous le pouvez.

Greg Hewgill
la source
il en va de même pour tout système d'exploitation: vous avez besoin de vim pour utiliser le bon encodage ET la bonne police pour afficher les glyphes de la police. Alors, marquez la réponse de Greg comme «acceptée» :)
Akira
Merci Greg! Ainsi, en définissant le codage sur UTF-8, nous permettons à GViM de donner un sens aux octets qu'il lit, mais malheureusement, il ne peut pas afficher toutes ces langues à l'aide d'une seule police à largeur fixe, donc le charabia est affiché.
Ashwin Nanjappa
0

L'utilisation des paramètres suivants dans votre .vimrc peut fonctionner pour vous. Cela a fonctionné pour moi pour les caractères chinois / japonais.
:set encoding=utf-8
:set guifont=*
:set guifontwide=*

GuruM
la source
Vous pouvez également essayer ce qui suit: :set fileencoding=utf-8 :set fileencodings=ucs-bom,utf-8,latin1 :set *encoding=utf-8
GuruM
0

La police Arial Unicode MS prend en charge le japonais, le chinois et le coréen ainsi que le vietnamien et l'arabe. Vous pouvez essayer d'utiliser cette police, bien que je ne pense pas qu'elle soit à espacement fixe.

http://www.microsoft.com/typography/fonts/font.aspx?FMID=1081

Il peut y avoir d'autres polices en plusieurs langues, peut-être aussi des espacements, mais je ne les connais pas.

Éditer

J'ai trouvé cette page avec quelques polices qui prennent en charge les trois langues. Certains d'entre eux sont disponibles en téléchargement gratuit: http://www.wazu.jp/gallery/Fonts_Japanese.html

meskarune
la source