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

Re: [OT] digraph 0 in vim



Hallo Christian,

On Thursday 03 August 2006 00:43, Christian Brabandt wrote:
> [...]
>
> 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?).

Das hab ich mir auch gedacht, da ich, nachdem ich mir die ganze Seite 
rekursiv runtergeladen hatte, zum ersten Mal in Quanta nur eine Zeile sah. 
das hab ich dann mit find -regex '.*htm[l]?' |xargs perl -pi -e 's/\r/\n/g'
geändert. Dann stieß ich aber auf diese index.html, mit der ich im vim 
keine ^M sah.
Ich hab die mal als Beispiel hierhin geladen:
das hier ist ist Mac-CR (13)
http://amor.rz.hu-berlin.de/~h044405q/mainmac.html
Das hier ist die index.html ohne erkennbaren Zeilentrenner
http://amor.rz.hu-berlin.de/~h044405q/noeol.html
Wie kriegt man sowas hin?
> Jedenfalls mußt du die CR durch ordentliche Trennzeichen ersetzen.
>
> Probier es mal damit:
> :e ++ff=mac foobar.txt
> :w ++ff=unix
>
Das ist es (hab ich aber nicht gemerkt wg. oben 'find -regex ...'
Danach war 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
>
Tatsache. Gehen würde auch \r\n 
Die so entstehenden ^@ kann man mit s/^@// rausschmeißen, wobei ich 
erst mit :dig + digraph.html gefunden habe, wie ^@ zu tippen ist

> (siehe auch http://www.vim.org/tips/tip.php?tip_id=1266)
>
Danke, nützlich

> Aber eigentlich ist das eine Aufgabe für tr:
> tr '\r' '\n' <foobar.txt sollte die Ersetzungen auch vornehmen.
>
Ja, dito perl, was wahrscheinlich etwas länger dauert
Dank und Gruß,
Gebhard

-- 
Excellent time to become a missing person.



Reply to: