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

时间:2010-04-16 16:57:10

标签: emacs shell newline

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

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

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

2 个答案:

答案 0 :(得分:6)

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

(set-buffer-file-coding-system 'unix)

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

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

答案 1 :(得分:0)

使用:

set-buffer-file-coding-system
保存文件前

(应绑定到键序列)。