每次编辑bash脚本时,我都会键入一个命令M-x shell-script-mode
。然后我得到了漂亮的shell代码higlighting。如何在每次启动emacs时自动获取它,这样我就不必键入命令了。当我将(shell-script-mode)
添加到init.el
时,它没有帮助。
您可以通过添加将默认主模式设置为您想要的任何模式
(setq-default major-mode 'shell-script-mode)
到您的init文件。这将确保任何新创建的缓冲区将处于shell-script-mode
中,除非另外指定其模式(例如通过auto-mode-alist
(。这是否是个好主意,我不知道:我可能不希望这是我的默认设置,而是每个人自己的设置。
让Emacs为缓冲区编辑文件设置所需的模式的最简单方法之一是在该文件的第一行中包含一个特殊注释,例如,对于shell脚本,第一行可能是:
# -*-sh-*-
对于脚本来说,在文件的第一行有一个解释器文件注释也是很常见的,甚至是经常需要的,这当然会排除Emacs模式注释,所以Emacs也会查找解释器文件注释,并将其与主模式相关联,所以shell脚本的第一行可能是:
#!/bin/sh
有许多其他方法可以告诉Emacs在访问文件时如何设置缓冲区模式。例如,请参阅Emacs手册:选择文件模式