我正在尝试将 coq 与 ProofGeneral 一起使用,但内置的 Verilog 模式会影响*.v
文件类型识别。我可以以某种方式禁用它并让 ProofGeneral 将它们重新映射到它的 coq 模式吗?
问问题
1305 次
4 回答
5
您将不得不在您的 .emacs 或其他文件中覆盖 auto-mode-alist 中的绑定。
这篇 SO 帖子与 VHDL 做了类似的事情:
另外,我搜索了“auto-mode-alist remove”并找到了这个链接。复制/粘贴重要部分:
;; 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)
于 2012-03-08T21:41:51.540 回答
2
我不熟悉 ProofGeneral,但如果我正确理解您的问题,您需要修改auto-mode-alist
变量以将正确的专业与具有.v
扩展名的文件相关联。因此,您需要在文件中添加类似这样的.emacs
内容:
(add-to-list 'auto-mode-alist '("\\.v$" . proof-general-coq-mode))
于 2012-03-08T21:39:21.897 回答
1
以下行有效:
(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))
于 2012-03-08T21:48:48.493 回答
1
这可能是一个 XY 问题。
我今天遇到了同样的问题,首先,我尝试了和你一样的东西,我在下面添加了以下~/.spacemacs
内容dotspacemacs/user-init
:
(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))
然后mode就变成了基础,然后我才意识到,真正的原因是spacemacs coq层没有自动安装,你需要花费很多精力来安装它,并且它的依赖关系很好。
以下是我在 Emacs 上成功运行 Coq 后对安装步骤的总结: https ://gist.github.com/luochen1990/68e5e38496b79790e70d82814bdfc69a
希望这有帮助:)
于 2019-09-20T13:14:07.327 回答