Ich möchte mit (g) Vim verschiedene Sprachen eingeben. Wenn ich jedoch mithilfe der Sprachleiste (Devanagari- oder Hindi-Zeichen) zu einer anderen Sprache wechsle und etwas eingebe, wird (g) vim angezeigt ??? ??
.
Was ich versucht habe:
write ++enc=utf-8 foo.txt
set fileencoding=utf-8
set enc=utf-8
Information:
- GVim-Version: 7.4 und auch sein + multi_byte.
- Keine Änderungen in der vimrc-Standarddatei.
Ich habe gerade mit (g) vim begonnen.
microsoft-windows
unicode
msinfo
quelle
quelle
Antworten:
Die Standardcodierung scheint zu sein
latin1
:Bei der Eingabe von Zeichen versucht Vim, diese aus dem eingehenden Zeichensatz (wahrscheinlich Unicode) in Latin-1 zu konvertieren. Dies schlägt fehl, da Latin-1 diese Zeichen nicht hat. Daher die Fragezeichen.
Das Öffnen einer vorhandenen Datei (mit dem Editor oder einem anderen Programm gespeichert) sollte zu verstümmeltem Text führen, da Vim jetzt nur versucht, Bytes zu lesen und sie gemäß dem Latin-1-Zeichensatz zu interpretieren und sie nicht in den Latin-1-Satz zu konvertieren.
Sie werden verwenden wollen
utf-8
oder einige solche:Danach scheint das Malayalam-Skript zu funktionieren.
Beachten Sie, dass dies nicht bereits bestehende Fragezeichen Arbeit machen. Diese werden
0x3f
bei der Eingabe wirklich in Fragezeichen (Zeichen ) umgewandelt. Es gibt keine Möglichkeit, zurück zu gelangen, was eingegeben wurde. Ich vermute, dass dies die Quelle der Verwirrung dieser Frage ist.Siehe auch
:help 'encoding'
.Als Nebenbemerkung werden nicht unterstützte Glyphen in der Schriftart normalerweise mit einem eindeutigen Glyphen gerendert. Dies variiert je nach Schriftart, ist jedoch normalerweise entweder ein quadratischer Block oder ein anders gestaltetes Fragezeichen. Sie können den Unterschied zwischen einem "echten" Fragezeichen und einem nicht unterstützten Glyphen mit erkennen
g8
, der den Zeichencode anzeigt.quelle