Wie konvertiere ich DOS / Windows Newline-Zeichen in GNU Emacs in das Unix-Format?

38

Gibt es eine Möglichkeit, GNU Emacs anzuweisen, DOS / Windows-Zeilenumbruchzeichen in einer Datei in das Unix-Format zu konvertieren?

Charo
quelle
Sie können auf die kleine Schaltfläche in der Modeline klicken und erneut speichern.
abo-abo
@abo-abo: Welcher kleine Knopf?
Charo
2
Die zweite von links, mit Unix-Stil sieht es so aus :.
abo-abo
2
Mit DOS ist es (DOS).
abo-abo

Antworten:

42

Wenn in der Moduszeile ein (DOS)Indikator angezeigt wird, klicken Sie zweimal darauf, um zu :Unix-Zeilenumbrüchen zu wechseln, und speichern Sie die Datei.

Wenn Sie nicht auf die Moduszeile klicken können oder eine tastaturbasierte Lösung bevorzugen, führen Sie den Befehl C-x RET f( set-buffer-file-coding-system) aus und geben Sie ein unix. Dadurch wird die Kodierung von Zeilenumbrüchen geändert, ohne dass die Kodierung anderer Zeichen geändert wird. (Sie können auch die Kodierung anderer Zeichen ändern, indem Sie etwas wie eingeben utf-8-unix.)

Gilles 'SO - hör auf böse zu sein'
quelle
1
C-x RET f (set-buffer-file-coding-system) ->M-x set-buffer-file-coding-system RET
CodyChan
@CodyChan C-x RET fist die Standardbindung für set-buffer-file-coding-system.
Gilles 'SO- hör auf böse zu sein'
Ich habe eine Funktion an gebunden C-x C-m, und derzeit verwende ich Emacs im Terminal aus der Ferne. Wenn ich sie C-x RETin Emacs ausführe , heißt es, dass sie an die Funktion gebunden ist, an die ich gebunden C-x C-mbin. Ich denke, das M-x passt zu jedem.
CodyChan
1
@CodyChan Ich gebe die Standardbindungen (wie die Emacs-Dokumentation) an, weil sie für die meisten Leser nützlich sind. Wenn Sie die Standardbindungen geändert haben, können Sie die Standardbindungen natürlich nicht verwenden. Sie können M-xden in Klammern angegebenen Funktionsnamen verwenden. Es macht keinen Sinn, ihn zu wiederholen. Beachten Sie, dass dies RETdasselbe ist wie C-mdas, was die Return-Taste an ein Terminal sendet - eine Bindung, die nur für die Return-Taste in einer GUI verwendet würde return.
Gilles 'SO- hör auf böse zu sein'
4

Speichern Sie die Datei, und Emacs verwendet beim Schreiben des Puffers in die Datei entsprechend dem Wert von automatisch das richtige Zeilenumbruchzeichen buffer-file-coding-system.

Rufen Sie describe-variabledann buffer-file-coding-systemden describe-coding-systemBefehl auf oder führen Sie den Befehl aus, der ausgeführt werden kann, indem Sie auf das zweite Zeichen in der Moduszeile klicken oder auf drücken , um den Wert des Puffer- Dateicodierungssystems zu ermitteln C-h C. Um den Wert festzulegen, rufen Sie set-buffer-file-coding-system( C-x RET f) und die Registerkarte auf, um den gewünschten Wert auszuwählen.

Nsukami _
quelle