我正在尝试使用ProofGeneral的coq,但内置的Verilog模式会影响*.v
文件类型识别。我可以以某种方式禁用它并让ProofGeneral将它们重新映射到其coq模式吗?
答案 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
希望这会有所帮助:)