在每次emacs启动时自动执行Shell脚本模式

在每次emacs启动时自动执行Shell脚本模式,emacs,syntax-highlighting,startup,Emacs,Syntax Highlighting,Startup,每次编辑bash脚本时,我都会键入一个命令M-xshell脚本模式。然后我得到了很好的照明。如何在每次启动emacs时自动获取它,这样我就不必键入命令。当我将(shell脚本模式)添加到init.el时,它没有任何帮助。让Emacs为缓冲区设置所需模式编辑文件的最简单方法之一是在该文件的第一行中包含特殊注释,例如,对于shell脚本,第一行可能是: # -*-sh-*- #!/bin/sh 对于脚本,在文件的第一行有解释器文件注释也是很常见的,甚至经常需要,这当然会排除使用Emacs模式注释

每次编辑bash脚本时,我都会键入一个命令
M-xshell脚本模式
。然后我得到了很好的照明。如何在每次启动emacs时自动获取它,这样我就不必键入命令。当我将
(shell脚本模式)
添加到
init.el
时,它没有任何帮助。

让Emacs为缓冲区设置所需模式编辑文件的最简单方法之一是在该文件的第一行中包含特殊注释,例如,对于shell脚本,第一行可能是:

# -*-sh-*-
#!/bin/sh
对于脚本,在文件的第一行有解释器文件注释也是很常见的,甚至经常需要,这当然会排除使用Emacs模式注释,因此Emacs也会查找解释器文件注释并将其与主模式关联,因此shell脚本的第一行可能是:

# -*-sh-*-
#!/bin/sh

还有许多其他方法可以告诉Emacs在访问文件时如何设置缓冲区模式。请参阅,例如,

让Emacs为缓冲区编辑文件设置所需模式的最简单方法之一是在该文件的第一行中包含特殊注释,例如,对于shell脚本,第一行可能是:

# -*-sh-*-
#!/bin/sh
对于脚本,在文件的第一行有解释器文件注释也是很常见的,甚至经常需要,这当然会排除使用Emacs模式注释,因此Emacs也会查找解释器文件注释并将其与主模式关联,因此shell脚本的第一行可能是:

# -*-sh-*-
#!/bin/sh

还有许多其他方法可以告诉Emacs在访问文件时如何设置缓冲区模式。参见,例如,

您可以通过添加

(setq-default major-mode 'shell-script-mode)

到您的init文件。这将确保任何新创建的缓冲区将处于
shell脚本模式
,除非其模式另有规定(例如通过
自动模式
)。不管这是不是一个好主意,我不知道:我可能不想让它成为我的默认设置-而是每个人自己的设置。

你可以通过添加默认主模式设置为你想要的任何模式

(setq-default major-mode 'shell-script-mode)

到您的init文件。这将确保任何新创建的缓冲区将处于
shell脚本模式
,除非其模式另有规定(例如通过
自动模式
)。无论这是不是一个好主意,我不知道:我可能不希望这成为我的默认设置-但对每个人来说都是自己的设置。

emacs应该根据一些问题自动启动
sh模式
,请提供重现问题的方法,因此我们可以理解这个问题。emacs应该根据一些问题自动启动
sh模式
,请提供重现问题的方法,这样我们就可以理解这个问题。问题是,在您保存缓冲区并从保存的文件还原缓冲区之前,它的模式仍然是
基本模式
或任何默认的主模式。我猜OP是在试图避免这种情况。问题是,在保存缓冲区并从保存的文件还原缓冲区之前,其模式仍然是
基本模式
或任何默认的主模式。我猜OP是在试图避免这种情况。