Как преобразовать символы новой строки DOS / Windows в формат Unix в GNU Emacs?

38

Есть ли способ сказать GNU Emacs для преобразования символов новой строки DOS / Windows в файл в формат Unix?

Чаро
источник
Вы можете нажать на маленькую кнопку в моделине и повторно сохранить.
abo-abo
@ abo-abo: какая маленькая кнопка?
Чаро
2
Второй слева, с Unix-стилем это выглядит так :.
abo-abo
2
С DOS это так (DOS).
abo-abo

Ответы:

43

Если строка режима показывает (DOS)индикатор, дважды щелкните по нему, чтобы перейти к :значению новой строки Unix, а затем сохраните файл.

Если вы не можете нажать на строку режима или предпочитаете решение на основе клавиатуры, запустите команду C-x RET f( set-buffer-file-coding-system) и введите unix. Это изменит кодировку новых строк без изменения кодировки других символов. (Вы также можете изменить кодировку других символов, набрав что-то вроде utf-8-unix.)

Жиль "ТАК - прекрати быть злым"
источник
1
C-x RET f (set-buffer-file-coding-system) ->M-x set-buffer-file-coding-system RET
CodyChan
@CodyChan C-x RET f- это привязка по умолчанию для set-buffer-file-coding-system.
Жиль "ТАК - перестань быть злым"
Я связал функцию с C-x C-m, и в настоящее время я использую Emacs в терминале удаленно, когда я выполняю C-x RETв Emacs, он говорит, что он связан с функцией, с которой я связан C-x C-m, я думаю, M-x подходит всем.
CodyChan
1
@CodyChan Я даю привязки по умолчанию (например, документацию Emacs), потому что это полезно для большинства читателей. Очевидно, что если вы изменили привязки по умолчанию, вы не сможете использовать привязки по умолчанию. Вы можете использовать M-xс именем функции, которое указано в скобках, нет смысла повторять его. Обратите внимание, что RETэто то же самое C-m, что и то, что отправляет ключ возврата на терминале - привязка, которая применяется только к ключу возврата в графическом интерфейсе return.
Жиль "ТАК - перестань быть злым"
4

Сохраните файл, и Emacs будет автоматически использовать правильный символ новой строки при записи буфера в файл в соответствии со значением buffer-file-coding-system.

Чтобы узнать, каково значение buffer-file-coding-system, describe-variableзатем вызовите buffer-file-coding-systemили выполните describe-coding-systemкоманду, которую можно выполнить, щелкнув второй символ строки режима или нажав C-h C. Чтобы установить его значение, вызовите set-buffer-file-coding-system( C-x RET f) и перейдите на вкладку, чтобы выбрать тот, который вы хотите.

Нсуками _
источник