【问题标题】:Get syntax highlighting for specific file in Emacs?在 Emacs 中获取特定文件的语法突出显示?
【发布时间】:2022-12-05 11:10:37
【问题描述】:

我已经创建了文件 ~/.bashrc__common,我从 ~/.bashrc 获取它,并且当我在 Emacs 中打开它时,我希望这个文件像其他 shell 脚本一样突出显示语法。我已将以下行添加到我的 ~/.emacs 文件中:

(setq auto-mode-alist (cons '("\\.bashrc__common\\." . sh-mode) auto-mode-alist))

但是,当我打开该文件时,它仍然没有语法突出显示(但我不完全理解为什么这行看起来像它一样,我不确定它的格式是否正确)。此外,~/.bashrc 似乎是自动突出显示的语法,即使我没有告诉 Emacs 这样做。为什么?

【问题讨论】:

  • 您可以将 # -*- mode: shell-script -*- 插入文件本身。
  • @choroba 这行得通,但我认为这是一种解决方法,这是我需要在其中添加的一条额外行,但我不想这样做。而且我想学习如何添加突出显示我输入它的方式的语法,以便将来我也可以对其他文件执行此操作。

标签: bash emacs syntax-highlighting


【解决方案1】:

您添加到 ~/.emacs 文件的行格式不正确。为了正确地将新的文件扩展名添加到自动模式列表,您需要使用“添加到列表”功能。正确的行是:

(add-to-list 'auto-mode-alist '(".bashrc__common." . sh-mode))

至于为什么 ~/.bashrc 会自动语法高亮,可能是因为它是 shell 脚本的通用文件名,而 Emacs 有一个内置规则,自动对具有该名称的文件使用 sh-mode 主模式。您可以使用 Emacs 迷你缓冲区中的“describe-variable”函数检查自动模式列表中的现有规则

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2011-07-29
    • 1970-01-01
    相关资源
    最近更新 更多