【问题标题】:Emacs css-mode-syntax-table missing?Emacs css-mode-syntax-table 不见了?
【发布时间】:2012-01-17 02:32:35
【问题描述】:

根据this answer,我可以通过在.emacs中添加这一行来让C++模式认为下划线不是变量分隔符:

(modify-syntax-entry ?_ "w" c++-mode-syntax-table)

这似乎工作得很好。但是当我尝试做一些类似于 CSS 的事情时:

(modify-syntax-entry ?- "w" css-mode-syntax-table)

我收到此错误:

Symbol's value as variable is void: css-mode-syntax-table

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 在开始自定义变量之前,您是否关心加载 css-mode。?如果不使用eval-after-load 包装上面的代码
  • @kindahero 噢噢噢!哦,非常感谢人:)
  • @kindahero 你可以输入这个作为实际答案,哈哈

标签: css emacs


【解决方案1】:

正如 kindahero 所说,在执行上述操作之前,我必须先 (load css-mode)

【讨论】:

  • 我在尝试从 Orgmode 导出到 HTML 时遇到了同样的错误 Symbol's value as variable is void: css-mode-syntax-table。我无法更改为css-mode,因为我需要从org-mode 导出。我的emacs.d/init.el 中的(load css-mode) 给了我eval-region: Symbol’s value as variable is void: css-mode。如何确保在启动 emacs 时设置了 css-mode-syntax-table,以便即使不在 css-mode 中也可以使用它?
  • 我找到了我的解决方案here:我必须删除我的系统在/usr/share/emacs/site-lisp/css-mode/css-mode.el 中安装的css-mode 版本,这比emacs 自己在/usr/share/emacs/27.2/lisp/textmodes/css-mode.el 中的版本更受欢迎。然后它起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-07
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
相关资源
最近更新 更多