如何强制emacs使用\n而不是\ r \n

Use*_*er1 4 emacs shell newline

我必须使用windows来编写一些shell脚本.我决定使用emacs,但是在运行脚本时出现了一个奇怪的错误:

/bin/bash^M: bad interpreter: No such file or directory

如果我错了,请纠正我,但看起来shebang在\ r \n而不是\n结束.如何判断emacs只能写\n?我在Shell脚本主要模式.这是非常令人惊讶的,默认情况下不会修复.

Nou*_*him 6

正如Jürgen所说,你需要使用set-buffer-file-coding-system.你可以说

(set-buffer-file-coding-system 'unix)
Run Code Online (Sandbox Code Playgroud)

并将其粘贴到内部的函数中,find-file-hook以便为打开的所有缓冲区设置它.或者,您可以将其放入write-file-hook列表中,以便在将文件转储到磁盘之前正确设置文件编码系统.

有了更简单的方法,如果您使用的是Emacs的GUI版本,则可以单击左侧的模式行中的第3个字符.这是在eol格式之间切换.