Shell 每次 emacs 启动时自动执行脚本模式
Shell script mode automatically at each emacs start
每次编辑 bash 脚本时,我都会输入命令 M-x shell-script-mode
。然后我得到很好的 shell 代码高亮显示。如何在每次启动 emacs 时自动获取它,这样我就不必键入命令。当我将 (shell-script-mode)
添加到 init.el
时,它没有帮助。
让 Emacs 为编辑文件的缓冲区设置所需的 模式 的最简单方法之一是在该文件的第一行包含特殊注释,例如对于 shell 脚本,您的第一行可能是:
# -*-sh-*-
对于脚本来说,在文件的第一行有一个解释器文件注释也是很常见的,或者甚至经常需要,这当然会排除 Emacs 模式注释,所以 Emacs 也会寻找解释器文件注释并将它们与主要模式相关联,因此 shell 脚本的第一行可能是:
#!/bin/sh
还有很多其他方法可以告诉 Emacs 在访问文件时如何设置缓冲模式。参见,例如,Emacs Manual: Choosing File Modes
您可以通过添加
将默认主要模式设置为您想要的任何模式
(setq-default major-mode 'shell-script-mode)
到你的初始文件。这将确保任何新创建的缓冲区都将在 shell-script-mode
中,除非以其他方式指定其模式(例如通过 auto-mode-alist
)。这是否是个好主意,我不知道:我可能不希望它成为我的默认设置 - 但每个 her/his 拥有。
每次编辑 bash 脚本时,我都会输入命令 M-x shell-script-mode
。然后我得到很好的 shell 代码高亮显示。如何在每次启动 emacs 时自动获取它,这样我就不必键入命令。当我将 (shell-script-mode)
添加到 init.el
时,它没有帮助。
让 Emacs 为编辑文件的缓冲区设置所需的 模式 的最简单方法之一是在该文件的第一行包含特殊注释,例如对于 shell 脚本,您的第一行可能是:
# -*-sh-*-
对于脚本来说,在文件的第一行有一个解释器文件注释也是很常见的,或者甚至经常需要,这当然会排除 Emacs 模式注释,所以 Emacs 也会寻找解释器文件注释并将它们与主要模式相关联,因此 shell 脚本的第一行可能是:
#!/bin/sh
还有很多其他方法可以告诉 Emacs 在访问文件时如何设置缓冲模式。参见,例如,Emacs Manual: Choosing File Modes
您可以通过添加
将默认主要模式设置为您想要的任何模式(setq-default major-mode 'shell-script-mode)
到你的初始文件。这将确保任何新创建的缓冲区都将在 shell-script-mode
中,除非以其他方式指定其模式(例如通过 auto-mode-alist
)。这是否是个好主意,我不知道:我可能不希望它成为我的默认设置 - 但每个 her/his 拥有。