Christian Boltz wrote:
seit ich auf Suse 9.2 umgestellt habe werden meine Umlaute in HTML -Dateien nicht mehr automatisch umgewandelt. Ich verwende dazu unter .vim\ftplugin\html\ eine Datei umlaute.vim, welche die Mappings enthält: map! ä ä
Ich vermute mal, dass das eine Auswirkung der Zeichensatz-Umstellung auf utf-8 ist. Werden die Umlaute korrekt angezeigt, wenn Du cat umlaute.vim ausführst? Wenn nicht, probier mal iconv -f iso-8859-15 -t utf-8 umlaute.vim
... ich hab dann den Inhalt in eine neue Datei kopiert und in vim neu abgespeichert und das hat geholfen. Trotzdem versteh ich zweierlei nicht: 1. Ich hatte meine umlaute.vim bereits mehrmals geändert und abgespeichert, trotzdem hat sich an dem Zeichnsatz der Datei offensichtlich nichts geändeert.
Es kann durchaus sein, dass vim eine mehr oder weniger intelligente Erkennung des Zeichensatzes betreibt. Guck mal mit :set nach, ob da irgendwas zum Zeichensatz dabeisteht. (Da ich mich bisher vor utf-8 gedrückt habe, kann ich Dir das leider nicht sagen ;-)
Ist so: Mit :set encoding wird der Zeichensatz ausgegeben und der richtet sich defaultmäßig nach dem Zeichensatz des Systemes. Kann aber individuell eingestellt werden mittels : set encoding=[Zeichensatz]. Also vermute ich, daß Vim beim Anzeigen der umlaute.vim erkannt hat, daß die Datei mit dem Zeichensatz Latin1 (ISO-8859-15?) gespeichert war und hat sie dann aber korrekt in UTF-8 umgesetzt. Sollte die umlaute.vim jedoch geladen werden, hat er sie mitttels UTF-8 ausgelesen, wobei meine Umlaute darin dann als Gott-weiß-was-für-Zeichen erscheinen.
2. Was macht cat anders als vi, so daß ich mittels cat das Problem erkennen kann?
cat schreibt einfach alles so auf die Konsole, wie es in der Datei steht. Das ist der Punkt, was ich nicht mehr kapiere. Was steht denn in der Datei? Ein Hexcode? Der dann mittels einer Zeichentabelle in Buchstaben umgesetzt wird? Mein System verwendet UTF-8, mein VIM verwendet UTF-8 - also wieso unterschiedliche Ergebnisse zwischen cat und vim, müßten doch eigentlich beide gleich (falsch) sein?
vim ist wohl "intelligenter" (siehe oben), auf jeden Fall gibt er
Sonderzeichen nicht direkt an die Konsole weiter.
cat geht übrigens auch in farbig ;-) [1] Guck mal auf meiner Homepage [2], wie ich meinen Prompt eingefärbt habe. Übernehme die Konfiguration testweise und lasse die Sitzung per script ... Danke das kannte ich noch nicht ... mitloggen. So, und jetzt guck mal die Datei typescript an - einmal mit vim, einmal mit less und einmal mit cat. Ich denke, der Unterschied dürfte eindeutig sichtbar sein ;-)
Ich probiers aus, vielleicht bin ich dann schlauer ;-) Oder ich bin einfach zu blöd für diese Zeichsatzgeschichten Gott zum Gruße Thomas