it-swarm.com.de

Anzeigen von UTF-8-Zeichen in VIM oder Gvim

Ich arbeite von Zeit zu Zeit auf Webseiten mit nicht-englischen Skripten. Die meisten verwenden den Zeichensatz utf-8, VIM und Gvim zeigt UTF-8-Zeichen nicht korrekt an.

Verwenden von VIM 7.3.46 unter Windows 7 64-Bit mit set guifont=Monaco:h10 in _vimrc

Gibt es eine Möglichkeit, dies zu beheben?

Update: Ich habe herumgegoogelt und festgestellt, dass set guifontwide als zweiter Fallback für regionale Sprachen fungiert.

Ich habe die folgenden Zeilen in _vimrc hinzugefügt und die meisten meiner Probleme wurden gelöst.

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

Die obige NSimsun-Schriftart funktioniert für Chinesisch. Das Problem ist, dass ich nicht weiß, wie sie den Schriftartnamen für VIM erhalten haben. Courier New wird als Courier_New erwähnt. Auch NSimsun befindet sich nirgends im Schriftartverzeichnis. Die Schriftart, die ich verwenden möchte, ist Latha, aber ich weiß nicht, wie ich sie in _vimrc File verwenden soll. set guifontwide=latha:h12 oder set guifontwide=Latha:h12 funktioniert nicht.

Wenn ich die guifontwide erfolgreich auf latha gesetzt habe, ist mein Problem gelöst. Wie geht das?

92
Sathish Manohar

Versuchen Sie, das Dokument erneut zu laden:

:e! ++enc=utf8

Wenn dies funktioniert, sollten Sie möglicherweise die fileencodings-Einstellungen in Ihrem .vimrc ändern.

56
Benoit

Hast du versucht

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

?

45
Maxim Sloyko

Unter M $ Windows können Sie mit gvim nicht monospaced Schriftarten auswählen. Leider ist Latha eine Schrift ohne Schriftzug. 

Es gibt eine Hackweise, um dies zu ermöglichen: Verwenden von FontForge (Sie können Windows-Binärdateien von http://www.geocities.jp/meir000/fontforge/ herunterladen), um die Latha.ttf-Markierung zu bearbeiten es als monospaced Schriftart. So machen:

  1. Laden Sie fontforge und wählen Sie latha.ttf aus.
  2. Menü: Element -> Schriftinfo
  3. Wählen Sie "OS/2" aus der linken Liste im Dialogfeld "Schriftinfo"
  4. Wählen Sie die Registerkarte "Panose"
  5. Anteil einstellen = Monospaced
  6. Speichern Sie die neue TTF-Version dieser Schriftart, probieren Sie es aus!

Viel Glück!

6
Yi Zhao

Ich habe keine anderen Schriftarten, die ich installiert habe, in meinem Windows-GVim-Editor angezeigt. Daher habe ich einfach zu Lucida Console gewechselt, der zumindest etwas bessere Unterstützung für UTF-8 bietet. Fügen Sie dies am Ende Ihres _vimrc hinzu:

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

Jetzt sehe ich mindestens einige UTF-8-Zeichen. 

2

Ist das Problem inzwischen gelöst?

Ich hatte das Problem, dass gvim nicht all Unicode-Zeichen (aber nur eine Teilmenge einschließlich Umlaute und Akzentzeichen) anzeigt, während :set guifont? leer war. siehe meine Frage . Nachdem ich hier gelesen hatte, wurde die guifont auf einen sinnvollen Wert gesetzt, was es für mich fixierte. Ich benötige jedoch keine Zeichen mit mehr als 2 Bytes.

2
Tobias

Unter Windows wählen Sie einfach die Schriftart "Lucida Console" aus.

1
Alex Dvoretskiy

Wenn Japaner hierher kommen, fügen Sie bitte die folgenden Zeilen zu Ihrem ~/.vimrc hinzu

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