如何在GNU Emacs中将DOS / Windows换行符转换为Unix格式?


Answers:


42

如果模式行显示(DOS)指示符,请单击两次以循环显示:Unix换行符,然后保存文件。

如果您无法单击模式行或无法使用基于键盘的解决方案,请运行命令C-x RET fset-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
吉尔(Gilles)'所以

我将一个函数绑定到C-x C-m,并且目前在终端中远程使用Emacs,当我C-x RET在Emacs中执行时,它说它绑定到我绑定的功能上C-x C-m,我认为M-x 适合所有人。
CodyChan

1
@CodyChan我提供默认绑定(例如Emacs文档),因为它对大多数读者有用。显然,如果您更改了默认绑定,则无法使用默认绑定。您可以使用M-x括号中指示的函数名称,没有必要重复它。确实注意到这RET是同样的事情C-m,这是回车键终端上发送-一个绑定,只适用于在GUI回车键将使用return
吉尔(Gilles)'所以

4

保存文件,然后Emacs根据的值将缓冲区写入文件时将自动使用正确的换行符buffer-file-coding-system

要知道什么是缓冲文件编码系统的值,调用describe-variable然后buffer-file-coding-system,或运行describe-coding-system,您可以通过点击模式行的第二个字符或按命令做C-h C。要设置其值,请调用set-buffer-file-coding-systemC-x RET f)和选项卡以选择所需的值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.