Login
Newsletter

Thema: Newlines mit vim korrigieren

41 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Nörgler am Mi, 6. März 2002 um 00:38 #
Ehrlich, man kann sich auch an Kleinigkeiten und Geschmäckern aufhängen. Ich sehe nicht, warum die Verwendung als CR/LF anstatt nur LF Arbeitszeit beim Programmieren verursachen sollte. Und zur Platzverschwendung: Bei Quellcode mit einer durchschnittlichen Zeilenlänge von 30 Zeilen ist gerade einmal 3,2% Platz "verschwendet" worden - bei Textdateien ist das normalerweise so wenig, daß im Worst Case ein oder zwei zusätzliche Blöcke auf dem Datenträger verwendet werden (normalerweise is ja BS=4096, sprich die Datei muß 4096 Zeilen lang sein um einen vollständigen Block dafür zu nutzen...).

Ach ja, statt vim dateiname + Befehlswust geht auch ein recode ibmpc..latin1 dateiname direkt auf der Kommandozeile. Sinnvoll immer dann, wenn man den vi nicht nutzen will/was anderes mit der Datei vorhat.

[
| Versenden | Drucken ]
  • 0
    Von Anonymous am Mi, 6. März 2002 um 01:26 #
    keine schlechte idee mit dem "recode" allerdings scheint das nicht zu einem linux-basissystem zu gehören? zu welchen tools gehört es, bzw. wo kann man es finden?
    [
    | Versenden | Drucken ]
    0
    Von Dubu am Mi, 6. März 2002 um 03:39 #
    @Anonymous: Was zaehlt denn zu einem "Basissystem"? Fuer mich ist recode das Tool zum Konvertieren von Textdateien zwischen verschiedenen Encodings. Es ist ein GNU Tool, dementsprechend auf jedem GNU-Mirror erhaeltlich, oder direkt
    beim Autor.

    Was den Trick mit vim angeht: Mit "set fileformat" wird wirklich nur das Zeilenendeformat konvertiert, evtl. Umlaute etc. bleiben davon unberuehrt, was ein weiterer Grund fuer recode ist :-) .

    Ciao,
    Dubu

    [
    | Versenden | Drucken ]
    0
    Von Karsten am Mi, 6. März 2002 um 06:19 #
    @Nörgler
    Wenn Du kompilierst hast Du schon recht. Anders sieht es bei Skriptsprachen wie PHP bzw. auch bei HTML aus. Wenn Du den Code auf Performance optimieren willst, zählt jedes Byte. Schau Dir mal den Quelltext von div. WYSIWIG-Grütze-Editoren an. Dort hast Du massenhaft Zeilen in denen nur & co steht (+cr/lf) dann kommst Du auf mehr als 10% Einsparung.
    [
    | Versenden | Drucken ]
    0
    Von Norbert am Mi, 6. März 2002 um 10:00 #
    Es geht ja nicht nur um Platzverschwendung: wer plattformuebergreifend mit ClearCase (z.B.) entwickelt, wird schnell merken, wie schoen es ist, _nur_ mit dem einen oder _nur_ mit dem anderen Verfahren zu arbeiten.
    [
    | Versenden | Drucken ]
    0
    Von Descartes am Mi, 6. März 2002 um 11:46 #
    WTF ist ClearCase ?
    [
    | Versenden | Drucken ]
    0
    Von Jochen am Mi, 6. März 2002 um 15:57 #
    @Descartes: ClearCase ist ein Tool zum Konfigurationsmanagement. Infos zu Clearcase gibt es hier .

    Jochen

    [
    | Versenden | Drucken ]
0
Von Max am Mi, 6. März 2002 um 00:43 #
Danke fuer den super Tip. Haette ich schon ein paar mal brauchen koennen. Hab dann halt unix2dos/dos2unix (oder so aehnlich) installiert und damit ging's dann auch. Aber auf Systemen auf denen man nicht selber Admin ist, ist die vi-Variante die bessere.
[
| Versenden | Drucken ]
0
Von Udo B. am Mi, 6. März 2002 um 06:12 #
Es gibt da noch zwei utils dos2unix und unix2dos. Die konvertieren Text-Dateien in die jeweilige Richtung.
[
| Versenden | Drucken ]
  • 0
    Von Peter Gerlach am Mi, 6. März 2002 um 07:45 #
    ... wenn es sowieso geht?
    Der ganz gewöhnliche erweiterte KDE-Editor kann das schon nimmer.
    Einfach laden, auf die andere Dateiart umstellen, speichern, fertig.
    Aber ein Schnörkeltrick ist natürlich besser, weil das nur Insider verstehen. Wozu soll ich mir extra einen Editor installieren, den ich sonst nie benutze? Ist doch auch Platzverschwendung oder?
    [
    | Versenden | Drucken ]
    0
    Von Gernot Tenchio am Mi, 6. März 2002 um 08:15 #
    Nun verfuegen aber wahrscheinlich 90% aller Unixe und Derivate nicht ueber den ganz gewoehlichen KDE Editor.

    Ein anstaendiger Server hat noch nicht einmal X. Der VI ist aber definitiv auf jedem UNIX zu finden. Obwohl ein bisschen OT, denn genau der hier beschriebene Trick funktioniert nur im VIM.

    PS:


    [
    | Versenden | Drucken ]
    0
    Von Stoerte am Mi, 6. März 2002 um 18:54 #
    KDE kommt mir net auf den Rechner.
    [
    | Versenden | Drucken ]
    0
    Von Stoerte am Mi, 6. März 2002 um 18:57 #
    oder anderster, warum bilden sich *mansche* KDE User immer ein jeder hätte KDE?
    Weil irgendjemand behauptet hat es wäre der Standard Linux Desktop? Oder weils SuSE standard mässig instaliert?
    [
    | Versenden | Drucken ]
    0
    Von Gernot Tenchio am Mi, 6. März 2002 um 21:54 #
    > anderster

    am anderstersten

    MfG, Gernot

    [
    | Versenden | Drucken ]
0
Von Anonymous am Mi, 6. März 2002 um 08:00 #
die 2 utilities machen nix anderes als recode zu benutzen, bei meiner distri zumindest
[
| Versenden | Drucken ]
0
Von jwm am Mi, 6. März 2002 um 08:06 #
@Peter:
Hehe, und ohne KDE? Was soll ich auf nem Server mit ner GUI?
vi und die Tools gehen selbst via Win-Telnet.

Jürgen

[
| Versenden | Drucken ]
  • 0
    Von Mathias Meyer am Mi, 6. März 2002 um 08:28 #
    Wow Win-Telnet, das soll ziemlich sicher sein, hab ich gehoert, ist das richtig? ;))

    Spass am Morgen, Gruss Pom

    [
    | Versenden | Drucken ]
    0
    Von jwm am Mi, 6. März 2002 um 11:47 #
    Mhh,
    auch nicht unsicherer als jeder andere Telnet-Client.

    Und ja, ich nehme immer brav ssh :)

    Jürgen

    [
    | Versenden | Drucken ]
    0
    Von kevin am Fr, 8. März 2002 um 09:35 #
    also ehrlich win-telnet? das is doch die letzte Grütze. Die Darstellung und das Keymaping sind absolut schlecht. Verwende doch lieber PUTTY, ist kostenlos klein und einfach genial. Ich hab gleich die orginal telnet.exe durch putty erstezt.
    zum Thema CR/LF: unter unix hab ich 1000 möglichkeiten dafür, aber unter win? ich hab notepad durch editpad.exe erstezt. die classic Version ist ebenfals frei. der kann die MACDOSUNIX Konvertierung.

    gruß kevin

    [
    | Versenden | Drucken ]
0
Von Anonymous am Mi, 6. März 2002 um 08:17 #
...und wenn es nur um das Zeilenende geht, hilft tr dank -d Option...

recode ist die Wahl, wenn's um mehr als nur CR geht (schaut Euch mal an, wie Recode zB sogar PC-Grafikchars in reine ASCII-Zeichen übersetzen kann...), ansonsten ist's Overkill...

Ich gebe aber zu: Ich klopp die CRs zumeist auch nur mit 'nem Editor ins Digiwana(TM) und die anderen Dinke sind halt für Skripte..

[
| Versenden | Drucken ]
  • 0
    Von Jochen am Mi, 6. März 2002 um 08:29 #
    Wobei ich "tr -d" für eine suboptimale Lösung halte, da in manchen Dateien schon mal ein berechtigtes CR mitten in einer Zeile auftauschen kann. "tr -d" killt auch diese.

    Meine Lieblingslösung zu dem Problem ist
    perl -p -i.bak -e 's/^M$//' dateiname
    Das schmeisst die CRs inline aus der Datei, legt aber vorsichtshalber eine Sicherungskopie mit Endung .bak an.

    Jochen

    [
    | Versenden | Drucken ]
0
Von Lars. am Mi, 6. März 2002 um 08:44 #
Warum sollte man die Newlines korrigieren? Benutzt einfach den Emacs und es gibt keine Sorgen ;-)
Dieses gehampel mit recode etc. bleibt mir dadurch weitesgehend erspart.

Lars

[
| Versenden | Drucken ]
  • 0
    Von Mathias Meyer am Mi, 6. März 2002 um 09:17 #
    Muuahaha. Wozu meinst du steht hier ein Tip fuer vim? Der Tip is fuer Leute, die einen richtigen Texteditor benutzen ;)
    Ein Glueck hab ich einen Kumpel von mir von emacs zu vi konvertieren koennen. Letzteren findet man wenigstens auf jedem Standard-Unix-Server, waehrend man fuer ersteren gleich einen extra Eintrag im Boot-Menue machen muss ;)

    emacs-bashing am Morgen is schon was feines.
    Gruesse

    [
    | Versenden | Drucken ]
    0
    Von wh am Mi, 6. März 2002 um 11:46 #
    @Lars: OK, aber genauso mit vim. Der bemerkt den Filetyp und kann cr/lf genauso verarbeiten wie lf. Allerdings wollte der Autor nicht Files mit cr/lf verarbeiten, sondern auf nur-lf umstellen.
    [
    | Versenden | Drucken ]
    0
    Von Stoerte am Mi, 6. März 2002 um 19:01 #
    http://www.gnu.org/fun/jokes/ed.msg.html
    [
    | Versenden | Drucken ]
    0
    Von Anonymous am Do, 7. März 2002 um 07:36 #
    @Lars
    Keine Sorgen mit EMacs bei CRLF am Zeilenende ?

    Hast Du mal versucht, ein Shell-Script (das vielleicht unter Windows erstellt wurde) auf einem Unix-Rechner auszuführen ?
    Aber du hast insofern recht, als Emacs diese Konvertierung auch kann (allerdings nicht automatisch):
    C-x RET c undecided-unix C-x C-w

    (das funktioniert übrigens auf auf einem EMacs auf NT !)

    [
    | Versenden | Drucken ]
0
Von Anonymous am Mi, 6. März 2002 um 09:21 #
Guter Tip, aber das ist doch alles viiiel zu lang ;-)

:%s/^M$
:w

Und wer weiß, dass der Text abgesehen vom Zeilenende kein ^M enthält, lässt das $-Zeichen auch noch weg.

[
| Versenden | Drucken ]
  • 0
    Von Ein anderer Anonymous am Mi, 6. März 2002 um 14:34 #
    Das ist doch auch noch viiiel zu lang ;)
    Da die ^M in jeder Zeile vorkommen, kann man einfach nur das letzte Zeichen in jeder Zeile entfernen:

    :%s/.$
    :w

    und wem das ctrl-v, ctrl-m zu umstaendlich ist:
    Es reicht, ctrl-v zu tippen und dann return. Dieses return wird dann automatisch in ^M umgewandelt (wie andere Sonderzeichen auch)

    [
    | Versenden | Drucken ]
0
Von Hey am Mi, 6. März 2002 um 09:52 #
Mal eine andere Sichtweise der Dinge: Ich erinnere mich an die Zeit in der es noch keine Bildschirme gab. Texte und Systemmeldungen wurden auf Nadeldruchern ausgegeben. Das ich damals noch nicht auf der Welt war, soll hier jetzt niemanden stören :-)

Also, gehen wir jetzt davon aus, wir haben 1970 einen Rechner mit Win, einen mit Linux und einen mit Mac OS. Der einzige Rechner der lesbaren Output produziert ist die Win-Dose! Beim Mac gibt es nur einen horizontalen schwarzen Balken, beim Linux nur eine Textzeile und am Ende der Zeile ein vertikale Linie. Ich wusste es schon immer! Win war schon 1970 revolutionär gut :-)

Wie ich auf dieses Gedankenspiel gekommen bin, dürft ihr selber überlegen ;-) !

[
| Versenden | Drucken ]
0
Von Noch'n Noergler am Mi, 6. März 2002 um 11:01 #
Habt ihr nicht auch den Eindruck, dasz das ganze hier wird immer mehr zum einem Treff fuer Milchmaedchen wird (wie es mein alter Mathelehrer - Gott hab ihn seelig - immer so treffsicher ausdruecken konnte) ?

Diese Frage ist durchaus ernst gemeint, vielleicht koennte man in Zukunft ja mal versuchen das _PRO_ im Name - welches IMHO bisher auch fuer professional gestanden hat - etwas staerker zu beachten...

[
| Versenden | Drucken ]
  • 0
    Von wh am Mi, 6. März 2002 um 11:55 #
    Das besondere an der Linux-Gemeinde sollte sein, gerade auch Anfänger zu unterstützen. Wenn du so abgehoben hast, warum verschwendest du deine Zeit auf dieser Seite?? Als Profi kannst du doch schon an der Überschrift erkennen, dass es für dich keine grundlegend neuen Erkenntnisse gibt!

    Merke: Wer Links anklicken kann, ist klar im Vorteil, aber der Profi kann sogar Klicks auslassen ;) !

    [
    | Versenden | Drucken ]
    0
    Von Anonymous am Mi, 6. März 2002 um 13:21 #
    Nun war es frueher aber in der Tat mal so, dasz man sich hier als "Profi" ganz wohl gefuehlt hat, mittlerweile verschwindet dieses Gefuehl aber zusehends. Leider handelt es sich hierbei nicht um ein pro-Linux spezifisches Problem. In der Tat ist die Frequenz meines Besuches hier stark zurueck gegangen...
    [
    | Versenden | Drucken ]
    0
    Von Stoerte am Mi, 6. März 2002 um 19:19 #
    ich hab prolinux bist jetzt immer für das Gegenteil von contralinux gehalten.
    "Die Linuxprofis" hat aber auch was ;).

    Wenn du profesioneles Zeug suchst schau mal hier: http://www-106.ibm.com/developerworks/linux/

    [
    | Versenden | Drucken ]
0
Von Sulu am Mi, 6. März 2002 um 13:34 #

Was ist denn dass für ein unnötiges Genörgle.
War den werten Herrn der Kurztipp zu einfach? :-(

Zum Anon oberhalb.
Wenn Du schon so ein Profi bist, dann schreib wenigstens ".. die Frequenz meiner Besuche ..."

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten