Was ist ^M?
Was ist ^M?
git diff zeigt mir seit neustem ^M in einer tex-Datei an.
Das Grundproblem von unterschiedlicher Kodierung der Zeilenumbrüche in Windows und Unix ist mir klar. Allerdings weiß ich nicht für welches von beiden das ^M steht?
Was mich noch mehr wundert, ist dass ich gar kein Windows verwende und die Datei definitiv nur mit vim und evtl. auch kate editiert wurde.
Das Grundproblem von unterschiedlicher Kodierung der Zeilenumbrüche in Windows und Unix ist mir klar. Allerdings weiß ich nicht für welches von beiden das ^M steht?
Was mich noch mehr wundert, ist dass ich gar kein Windows verwende und die Datei definitiv nur mit vim und evtl. auch kate editiert wurde.
Re: Was ist ^M?
^M ist Strg-M ist '\r' ist "return". Windows-Zeilenenden bestehen aus return+linefeed, Unix-Zeilenenden aus linefeed.
Also: Die Datei ist mit Windows-Zeilenenden abgespeichert worden, warum auch immer. (Kate ist durchaus dazu in der Lage, dies zu tun.)
Also: Die Datei ist mit Windows-Zeilenenden abgespeichert worden, warum auch immer. (Kate ist durchaus dazu in der Lage, dies zu tun.)
Re: Was ist ^M?
ctrl M ist ein Carriage return (CR) - entspricht einem Character 13 dez oder 0x0D hex
ctrl J ist ein line feed entspricht Char 10 dez oder 0x0A hex
ctrl J ist ein line feed entspricht Char 10 dez oder 0x0A hex
Re: Was ist ^M?
Nirgends steht, dass das ^M an jedem Zeilenende steht und die Datei damit Windows-Zeilenumbrueche hat. Diff koennte das ^M auch einfach deshalb anzeigen, weil's jemand *eingegeben* hat.MoonKid hat geschrieben:git diff zeigt mir seit neustem ^M in einer tex-Datei an.
*scnr*
Use ed once in a while!
Re: Was ist ^M?
Du kannst die Zeichen recht einfach per sed, vim oder tr wieder loswerden. Ich habe mal schell ein paar Links rausgesucht:
sed:
http://www.cyberciti.biz/faq/sed-remove ... -appleosx/
vim und tr:
http://www.server-wissen.de/linux-debia ... entfernen/
http://blog.ingo-reschke.de/?p=24
Bin mir bei der Vim-Methode gerade nicht sicher. Wie ist die genaue Syntax?
Scheint wohl noch etliche andere Lösungen zu geben:
http://stackoverflow.com/questions/8111 ... ned-in-vim
sed:
http://www.cyberciti.biz/faq/sed-remove ... -appleosx/
vim und tr:
http://www.server-wissen.de/linux-debia ... entfernen/
http://blog.ingo-reschke.de/?p=24
Bin mir bei der Vim-Methode gerade nicht sicher. Wie ist die genaue Syntax?
Scheint wohl noch etliche andere Lösungen zu geben:
http://stackoverflow.com/questions/8111 ... ned-in-vim
Re: Was ist ^M?
Dank erstmal für die Erklärungen. git zeigt mir hier also Unix-Zeilenenden an?
Aber warum? Das hat es früher nie getan. In der Datei dürften sich auch keine Windows-Zeilenenden befinden.
juffed zeigt übrigens hinter jeder Zeile CRLF (also Windows?). Jetzt bin ich völlig verwirrt.
Wenn ich eine frische Datei mit vim anlege, ist dort nur LF (Unix).
Editiere ich aber die alte text Datei mit vim wird immer ein CRLF eingefügt.
Ich versuche zu verstehen, warum mir das auf einmal angezeigt wird.
Wie ich das ändern kann, ist mir klar. git selbst bietet hier vielfältige Möglichkeiten an, Windows-Unix-Misch-Umgebungen adäquat zu behandeln. Aber bei mir ist nix gemischt.
Aber warum? Das hat es früher nie getan. In der Datei dürften sich auch keine Windows-Zeilenenden befinden.
juffed zeigt übrigens hinter jeder Zeile CRLF (also Windows?). Jetzt bin ich völlig verwirrt.
Wenn ich eine frische Datei mit vim anlege, ist dort nur LF (Unix).
Editiere ich aber die alte text Datei mit vim wird immer ein CRLF eingefügt.
Ich versuche zu verstehen, warum mir das auf einmal angezeigt wird.
Wie ich das ändern kann, ist mir klar. git selbst bietet hier vielfältige Möglichkeiten an, Windows-Unix-Misch-Umgebungen adäquat zu behandeln. Aber bei mir ist nix gemischt.
Re: Was ist ^M?
Nein, es zeigt Windows-Zeilenenden an.MoonKid hat geschrieben:Dank erstmal für die Erklärungen. git zeigt mir hier also Unix-Zeilenenden an?
Vielleicht hast du mal die Zeilenenden verstellt, als du die Datei in kate geöffnet hattest? (Unter "Extras" => "Zeilenenden")
Zuletzt geändert von owl102 am 23.06.2016 17:03:36, insgesamt 1-mal geändert.
Re: Was ist ^M?
Mhm... Ich dachte eher, es hätte vielleicht was mit Versionsunterschieden (git, vim, whatever) zwischen Ubuntu Trusty und Siduction (Debian unstable) zu tun. (btw: Dieser Paralellbetrieb ist nicht als Dauerzustand geplant! )
Habs jetzt mit tr bereinigt (danke für den Link!) und werde es mal beobachten.
Habs jetzt mit tr bereinigt (danke für den Link!) und werde es mal beobachten.
Re: Was ist ^M?
Wenn dann lag es bestimmt an Ubuntu. Ist doch fast wie Windows Siduction (Debian unstable) glaube ich nicht. Viel zu stabil und zuverlässig und zu weit von Windows weg. Vielleicht lag es irgendwie an der Datenübertragung zwischen den Systemen. Hostest du dein Git unter Windows?... zwischen Ubuntu Trusty und Siduction (Debian unstable) zu tun.
Re: Was ist ^M?
Hoste mein git gar nicht. Hab das nur lokal in .git drin.
Die Daten zwischen beiden Rechnern werden per Unison gesynct.
Die Daten zwischen beiden Rechnern werden per Unison gesynct.
Re: Was ist ^M?
Na dann wäre nur noch die Frage auf welcher Seite sie zuerst kaputt waren.