如何在emacs中禁用Verilog模式?

时间:2012-03-08 21:21:58

标签: emacs proof-general

我正在尝试使用ProofGeneral的coq,但内置的Verilog模式会影响*.v文件类型识别。我可以以某种方式禁用它并让ProofGeneral将它们重新映射到其coq模式吗?

4 个答案:

答案 0 :(得分:4)

您将不得不在.emacs或其他内容中覆盖auto-mode-alist中的绑定。

此SO帖子与VHDL类似:

How do I turn off vhdl-mode in emacs?

另外,我用Google搜索“auto-mode-alist remove”并找到this link。复制/粘贴重要的位:

;; Remove all annoying modes from auto mode lists

(defun replace-alist-mode (alist oldmode newmode)
  (dolist (aitem alist)
    (if (eq (cdr aitem) oldmode)
    (setcdr aitem newmode))))

;; not sure what mode you want here. You could default to 'fundamental-mode
(replace-alist-mode auto-mode-alist 'verilog-mode 'proof-general-mode)

答案 1 :(得分:2)

我不熟悉ProofGeneral,但如果我正确理解您的问题,您需要修改auto-mode-alist变量,将正确的专业与.v扩展名的文件相关联。因此,您需要在.emacs文件中添加以下内容:

(add-to-list 'auto-mode-alist '("\\.v$" . proof-general-coq-mode))

答案 2 :(得分:1)

以下一行有效:

(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))

答案 3 :(得分:1)

这可能是一个XY问题。

我今天遇到了同样的问题,首先,我尝试了与您相同的事情,在~/.spacemacs下的dotspacemacs/user-init中添加了以下内容:

(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))

然后模式成为基本模式,然后我意识到真正的原因是没有自动安装spacemacs coq层,您需要花费很多精力来安装它及其依赖项好吧。

以下是我在Emacs上成功运行Coq之后的安装步骤摘要:https://gist.github.com/luochen1990/68e5e38496b79790e70d82814bdfc69a

希望这会有所帮助:)