Jak przekonwertować znaki nowej linii DOS / Windows na format uniksowy w GNU Emacs?

38

Czy istnieje sposób, aby GNU Emacs przekonwertował znaki nowej linii DOS / Windows w pliku na format uniksowy?

Charo
źródło
Możesz kliknąć mały przycisk w modelu i ponownie zapisać.
abo-abo
@ abo-abo: Który mały guzik?
Charo,
2
Drugi od lewej, wygląda w stylu uniksowym :.
abo-abo
2
Z DOS tak jest (DOS).
abo-abo

Odpowiedzi:

42

Jeśli linia trybu pokazuje (DOS)wskaźnik, kliknij go dwa razy, aby cyklicznie :oznaczać nowe znaki uniksowe, a następnie zapisz plik.

Jeśli nie możesz kliknąć linii trybu lub wolisz rozwiązanie oparte na klawiaturze, uruchom polecenie C-x RET f( set-buffer-file-coding-system) i wpisz unix. Spowoduje to zmianę kodowania znaków nowej linii bez zmiany kodowania innych znaków. (Możesz także zmienić kodowanie innych znaków, wpisując coś takiego utf-8-unix.)

Gilles „SO- przestań być zły”
źródło
1
C-x RET f (set-buffer-file-coding-system) ->M-x set-buffer-file-coding-system RET
CodyChan,
@CodyChan C-x RET fjest domyślnym powiązaniem dla set-buffer-file-coding-system.
Gilles „SO- przestań być zły”
Związałem funkcję z C-x C-m, a obecnie używam Emacsa w terminalu zdalnie, kiedy wykonuję C-x RETw Emacsie, mówi, że jest on związany z funkcją, do której się zobowiązałem C-x C-m, myślę, że M-x pasuje do wszystkich.
CodyChan
1
@CodyChan Daję domyślne powiązania (takie jak dokumentacja Emacsa), ponieważ jest to przydatne dla większości czytelników. Oczywiście, jeśli zmieniłeś domyślne powiązania, nie możesz użyć domyślnych powiązań. Możesz używać M-xz nazwą funkcji wskazaną w nawiasach, nie ma sensu jej powtarzać. Zwróć uwagę, że RETjest to to samo, co C-m, co klawisz Return wysyła do terminala - użyłoby to powiązania, które dotyczyło tylko klawisza Return w GUI return.
Gilles 'SO - przestań być zły'
4

Zapisz plik, a Emacs automatycznie użyje poprawnego znaku nowej linii podczas zapisywania bufora do pliku, zgodnie z wartością buffer-file-coding-system.

Aby dowiedzieć się, jaka jest wartość systemu buforowania plików-kodowania, zadzwoń describe-variablewtedy buffer-file-coding-systemlub uruchom describe-coding-systempolecenie, które możesz wykonać, klikając drugi znak wiersza trybu lub naciskając C-h C. Aby ustawić jego wartość, call set-buffer-file-coding-system( C-x RET f) i tab, aby wybrać ten, który chcesz.

Nsukami _
źródło