【问题标题】:Shell script mode automatically at each emacs startShell 脚本模式在每次 emacs 启动时自动启动
【发布时间】:2020-02-19 07:19:57
【问题描述】:

每次编辑 bash 脚本时,我都会键入命令 M-x shell-script-mode。然后我得到了很好的 shell 代码高亮显示。如何在每次启动 emacs 时自动获取它,这样我就不必键入命令。当我将 (shell-script-mode) 添加到 init.el 时,它没有帮助。

【问题讨论】:

  • emacs 应该根据tests 的数量自动启动sh-mode
  • 请提供重现问题的方法,以便我们理解问题。

标签: emacs syntax-highlighting startup


【解决方案1】:

您可以通过添加将默认的主要模式设置为您想要的任何内容

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

到你的初始化文件。这将确保任何新创建的缓冲区都将在shell-script-mode 中,除非另有指定其模式(例如通过auto-mode-alist)。这是否是一个好主意,我不知道:我可能不希望这成为我的默认设置 - 而是每个她/他自己的设置。

【讨论】:

    【解决方案2】:

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

    # -*-sh-*-
    

    对于脚本来说,在文件的第一行添加解释器文件注释也很常见,甚至经常需要,这当然会排除 Emacs 模式注释,因此 Emacs 也会查找解释器文件 cmets并将它们与主要模式相关联,因此您的 shell 脚本的第一行可能是:

    #!/bin/sh
    

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

    【讨论】:

    • 问题是,在您保存该缓冲区并从保存的文件恢复缓冲区之前,它的模式仍然是 fundamental-mode 或默认的主要模式。我猜 OP 正试图避免这种情况。
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2015-08-11
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多