[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] digraph 0 in vim



Hallo Gebhard!

Gebhard Dettmar schrieb am Mittwoch, den 02. August 2006:

> ich habe hier html-Seiten, die noeol files sind. Entweder ich sehe ganz 
> viele blaue ^M oder garnichts (aber natürlich alles in einer Zeile). Wenn 
> ich die mit \n substituiere, kriege ich ganz viele blaue ^@ (und immer 
> noch nur eine Zeile), \r\n im Ersetzungsteil bringt Zeilenwechsel und ein 
> blaues ^@ an jedem Zeilenanfang. Da, wo keine ^M stehen, nehme ich im 
> Suchteil \t, das gibt dito ^@ am Zeilenanfang

Hmm, das sieht so aus, als würde vim nicht korrekt das Fileformat
erkennen. Also ob Dos, Unix oder Mac Zeilentrenner verwendet werden.
AFAIK ist ^M ein CarriageReturn und damit ein Indiz für das Fileformat
vom Mac (9?). 
Jedenfalls mußt du die CR durch ordentliche Trennzeichen ersetzen.
Probier es mal damit:

:e ++ff=mac foobar.txt
:w ++ff=unix

Per regexp kriegt man das wohl nicht so richtig gerade gebogen, da \n beim
ersetzen als ASCII NULL (^@) ersetzt wird (:h NL-used-for-Nul). Laut der
vim-Mailingliste scheint aber erstaunlicherweise diese Ersetzung zu
funktionieren: 
:s/\r/\r/g 
(siehe auch http://www.vim.org/tips/tip.php?tip_id=1266)

Aber eigentlich ist das eine Aufgabe für tr: 
tr '\r' '\n' <foobar.txt sollte die Ersetzungen auch vornehmen.


> Laut :dig kriegt man die mit NU, also CTRL-K NU (oder dezimal 10, laut 
> digraph.html in der Vim-Doku ist official name: NULL, dec = 0), ich frage 
> mich nur: was ist das, wo kommt das her (beim ersetzen)?

Siehe oben, \n wird beim Ersetzen zu ASCII 0. 

Grüße,
Christian
-- 
Wenn die Menschen nur über Dinge reden würden, von denen sie etwas
verstehen - das Schweigen wäre bedrückend.
		-- Robert Lembke



Reply to: