代码之家  ›  专栏  ›  技术社区  ›  User1

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

  •  4
  • User1  · 技术社区  · 14 年前

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

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

    如果我错了,请更正我,但看起来shebang结束于\r\n而不是仅以\n结尾。如何告诉emacs只写?我在shell脚本主模式。很奇怪,这不是默认的。

    2 回复  |  直到 14 年前
        1
  •  6
  •   Noufal Ibrahim    14 年前

    正如jrgen提到的,您需要使用 set-buffer-file-coding-system . 你可以说

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

    把它放到 find-file-hook 这样它就会为你打开的所有缓冲区设置。或者,你可以把它放在 write-file-hook 列出,以便在将文件转储到磁盘之前正确设置文件编码系统。

    为了更简单的解决方法,如果您使用的是emacs的gui版本,那么您可以从左侧单击modeline中的第三个字符。它是在eol格式之间切换。

        2
  •  0
  •   Jürgen Hötzel    14 年前

    用途:

    set-buffer-file-coding-system
    

    (应该绑定到键序列)保存文件之前。