Vim: Wie behandelt man Unicode-Dateien mit Text in mehreren (mehr als zwei) Sprachen?

5707
Ashwin Nanjappa

Welche Einstellungen muss ich in Vim / gVim vornehmen, um Unicode-Textdateien anzeigen zu können, die Text in vielen Sprachen haben?

Sie können diese Annahmen treffen:

  • Die Anzahl der Sprachen beträgt mehr als zwei.
  • Einige der Sprachen sind Chinesisch, Japanisch und Koreanisch.
  • Es reicht aus, wenn ich diese Dateien in gVim (nicht unbedingt Vim) ansehen kann.
  • gVim 7.0 läuft unter Windows.

Hier ist ein Textbeispiel, das beim Speichern in Unicode in Notepad gut geöffnet wird, aber in gVim als Kauderwelsch erscheint:

This is English. 这是中文。 これは日本です。 한국입니다. ಇದು ಕನ್ನಡ. 
8
Jerryjvl: There seems to be Unicode support in GViM. I have not been successful in enabling it to work with >2 languages. http://www.vim.org/htmldoc/mbyte.html Ashwin Nanjappa vor 14 Jahren 0
Ihr Beispiel funktioniert gut, wenn Sie es unter Linux in gvim einfügen. Schlagen Sie eine Aktualisierung des Betriebssystems vor :-D derobert vor 14 Jahren 3

3 Antworten auf die Frage

7
Greg Hewgill

Mit gVim unter Windows habe ich folgende zwei Dinge getan:

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

Der zweite Befehl ruft eine Schriftartauswahl auf. Durch die Auswahl der Schriftart "@MS Mincho" wurden einige japanische Zeichen angezeigt, die jedoch seltsam um 90 Grad nach links gedreht wurden.

Auf jeden Fall müssen Sie die Kodierung vor dem Laden oder Einfügen von Text in gVim festlegen (andernfalls werden sie möglicherweise nur in alle Fragezeichen konvertiert). Dann müssen Sie eine Schrift mit (a) fester Breite finden und (b) enthält die Zeichen, die Sie sehen möchten. Ich scheine im Moment nicht so eine Schriftart auf meinem System zu haben, aber Sie können.

Dasselbe gilt für jedes Betriebssystem: Sie benötigen vim, um die richtige Kodierung UND die richtige Schriftart für die Anzeige der Glyphen der Schriftart zu verwenden. Markiere die Antwort von greg als "akzeptiert" :) akira vor 14 Jahren 0
Danke, Greg! Durch Festlegen der Kodierung als UTF-8 ermöglichen wir GViM, die gelesenen Bytes zu verstehen. Leider können nicht alle Sprachen mit einer einzelnen Schriftart mit fester Breite angezeigt werden. Daher wird Kauderwelsch angezeigt. Ashwin Nanjappa vor 14 Jahren 0
0
GuruM

Die folgenden Einstellungen in Ihrem .vimrc können für Sie funktionieren. Es funktionierte für mich bei chinesischen / japanischen Schriftzeichen.
:set encoding=utf-8
:set guifont=*
:set guifontwide=*

Sie können auch Folgendes versuchen: `: set fileencoding = utf-8: set fileencodings = ucs-bom, utf-8, latin1: set * coding = utf-8` GuruM vor 11 Jahren 0
0
meskarune

Die Schriftart Arial Unicode MS unterstützt Japanisch, Chinesisch und Koreanisch sowie Vietnamesisch und Arabisch. Sie könnten versuchen, diese Schriftart zu verwenden, obwohl ich nicht glaube, dass es sich um Monospaces handelt.

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

Es gibt möglicherweise andere pan-sprachige Schriften, vielleicht auch Monospaced-Schriften, aber ich kenne sie nicht.

bearbeiten

Ich habe diese Seite mit einigen Schriftarten gefunden, die alle drei Sprachen unterstützen. Einige davon sind als kostenlose Downloads erhältlich: http://www.wazu.jp/gallery/Fonts_Japanese.html