Stefan Keul (by way of Stefan Keul ) wrote:
> Am Donnerstag, 12. September 2002 05:56 schrieb Dirk Prösdorf:
> 
>>Alexander Schmehl <[EMAIL PROTECTED]> wrote:
>>
>>>kann man vim eigentlich irgendwie beibringen, dass er bei
>>>bestimmten Dateien Umlaute automatisch konvertieren soll?
>>
>>Ja, kann man.
>>^L
>>Beim Bearbeiten einer HTML-Datei z.B. wie folgt für jeden Buchstaben:
>>  autocmd BufNewFile,BufRead *.htm*,*.ph*,*.inc imap ä &auml;
>>Wenn es nachträglich sein soll, musst Du Dir ein Makro für jeden
>>Buchstaben anlegen:
>>  map <F7> :%s/ä/\&auml;/g<CR>
> 
> 
> Super, aber geht mapping auch beim Schreiben/Lesen der Datei. Was ich
> meine:
> 
> Ich habe die html-Datei und da steht nun \&auml drin. Wenn ich diese
> Datei öffne sieht das hässlich aus, ist schwer lesbar und jede
> Rechtscheibkorrektur wird verzweifeln. Also möchte ich das vim beim
> lesen der Datei in den Buffer mir \&auml->ä ersetzt. Dann hab ich einen
> wunderbar lesbaren Buffer mit dem ich angenehm arbeiten kann. Ich kann
> problemlos alle möglichen Sonderzeichen eintippen, ... und wenn ich die
> Datei wieder wegschreibe muß natürlich das umgekehrte mapping erfolgen
> ä->\&auml.
> 
> Gibt's da ne Lösung für?

:1,$s/\\&auml/ä/g

: = Befehl folgt
1,$ = Alle Zeilen
s = substitude (ersetzen)
/ = Feldtrenner
\\&auml = Der String der ersetzt werden soll [1]
ä = Zeichen durch das ersetzt werden soll
g = Auch Mehrere Vorkommen in einer Zeile ersetzten

HTH

[1] Der Backslasch muss 2* getippt werden, da er normalerweise eine 
Sonderbedeutung hat. Der erste Backslash hebt also nur die 
Sonderbedeutung für den 2. auf.

-- 
- maik


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an