Wie kann ich das ^ M in erhabenem Text 3 aus meiner Datei entfernen?

21

Wenn ich einen Git-Diff in meinem Zweig mache, sehe ich, dass Zeilenenden die Zeichen ^ M haben:

^ M Zeilenenden

Ich möchte diese durch Unix-Zeilenenden ersetzen, bevor ich meine Änderungen festschreibe.

Ich benutze Ubuntu 14.04, Git und Sublime Text 3.

Danke für Ihre Hilfe.

BEARBEITEN:

Ich suche nach einer Möglichkeit, Zeilenenden in erhabenem Text 3 zu ändern, ohne andere Dienstprogramme oder Befehle zu verwenden.

Achraf JEDAY
quelle

Antworten:

13

Sie können den dos2unixBefehl unter Linux (Paket dos2unix) verwenden oder die Zeilenenden in Sublime Text unter dem Menüpunkt Ansicht / Zeilenenden ändern .

Jan Čejka
quelle
13

Dies kann ohne Plugin über das Menü oben oder über die Statusleiste erfolgen (Sie müssen die Funktion jedoch aktivieren).

Um es über das Menü oben zu ändern, klicken Sie auf Ansicht -> Zeilenenden -> Wählen Sie den gewünschten Zeilenenden-Typ aus.

So aktivieren Sie dies über die Statusleiste: Klicken Sie auf Einstellungen -> Einstellungen und fügen Sie dann "show_line_endings": true,irgendwo zwischen den {}Klammern auf der rechten Seite etwas hinzu. Speichern Sie abschließend Ihre Änderungen.

Dies ermöglicht einen kleinen Abschnitt rechts von der Statusleiste, der unten angezeigt wird. Es zeigt Ihnen die aktuelle EOL-Codierung an. Wenn Sie auf das Feld klicken und einen anderen Typ auswählen, wird das EOL-Zeichen der Datei für Sie geändert.

Eine weitere hilfreiche Option ist die Dateicodierung, die auch in der Statusleiste aktiviert werden kann, indem die gleichen Einstellungen wie oben befolgt werden, aber auch "show_encoding": true,zwischen den {}Markierungen hinzugefügt wird .

KB
quelle
Dies funktioniert insbesondere, wenn Sie Dateien von Windows auf einen Server übertragen, da es auf dem Server schwieriger ist, die Datei zu bearbeiten. Vielen Dank
Luis Cabrera Benito
Dies sollte nun die akzeptierte Antwort sein
Lucas
7

^Mist \r(Control-M oder Wagenrücklauf).

Dies liegt wahrscheinlich daran, dass der Benutzer, der die Datei festgeschrieben hat, Windows verwendet hat, das \r\nfür seine Zeilenenden verwendet wird. Linux verwendet nur \n, daher sehen Sie das ^Mam Ende der Zeile.

Sie möchten wahrscheinlich eine der folgenden Aktionen ausführen:

  • 'Korrigieren' Sie die Datei so, dass sie \nZeilenenden hat (mit einem Tool wie dos2unix) und festschreiben. In diesem Fall kämpfen Sie mit dem anderen Benutzer, es sei denn, Sie können ihn dazu bringen, die folgenden Schritte auszuführen.
  • Konfigurieren Sie beide Git-Installationen so, dass die Zeilenenden für jede Umgebung korrekt behandelt werden - z. B.: Https://stackoverflow.com/questions/10418975/how-to-change-line-ending-settings
  • Konfigurieren Sie Sublime so, dass die Datei mit " Windows-Zeilenenden " geöffnet wird.
Attie
quelle
3

Ich habe ein großartiges Text- Plugin gefunden , das Zeilenenden in allen geöffneten Dateien in Unix / Windows / Mac OS 9 konvertiert.

Installation

  1. Öffnen Sie Sublime und gehen Sie zu Einstellungen> Pakete durchsuchen. Dies öffnet ein Fenster.
  2. Laden Sie den Inhalt dieses Repositorys herunter oder klonen Sie ihn in einen Ordner, der genau dem Paketnamen entspricht, in den Ordner "Pakete /", den Sie im vorherigen Schritt geöffnet haben:

/home/YOUR_USERNAME/.config/sublime-text-3/Packages

Verwendungszweck

  1. Gehen Sie zurück zu sublime und öffnen Sie alle Dateien, die Sie konvertieren möchten.
  2. Sobald alle Dateien geöffnet sind, drücken Sie STRG + UMSCHALT + P, suchen Sie und wählen Sie "Zeilenende für alle Ansichten: Unix".
  3. Drücken Sie STRG + ALT + S, um alle geöffneten Dateien zu speichern.
Achraf JEDAY
quelle
Das Repository wurde gelöscht?
AnnanFay
3

Wem Sie möglicherweise kein zusätzliches Plugin installieren möchten, um ^ M neue Zeilen zu entfernen,

  1. Fügen Sie in der Einstellung für erhabenen Text "trim_trailing_white_space_on_save": true,beim Speichern Speicherplatz hinzu, um ihn automatisch zu entfernen. (Dieser Schritt kann optional sein.)

  2. Klicken Sie in der Datei, die Sie öffnen, auf die rechte untere Ecke des erhabenen Textes. Wechseln Windowszu Unixund speichern.

  1. ^ M ist weg. Genießen.
harrrrrrry
quelle