启动make并通过Emacs中的快捷方式转到错误位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了启动make并通过Emacs中的快捷方式转到错误位置相关的知识,希望对你有一定的参考价值。

我使用Emacs进行编码。目前,要编译OCaml项目,我需要在终端中键入make。如果出现错误,我必须按照错误指示返回Emacs以查找错误的文件和位置。

现在,我想通过键盘快捷键在Emacs中启动make,它会打开一个缓冲区来显示编译,然后

1)如果没有错误,则自动关闭缓冲区

2)如果有错误,另一个快捷方式将引导我进入Emacs中的错误文件和行。

有谁知道如何编写.emacs来启用此机制?

PS:这是我目前的.emacs。我发布了一个question来通过快捷方式(Ctrl + c + m + m)在Emacs中编译一个.tex文件,这很有用。但是如果出现错误,我不会要求它引导我到错误位置。

答案

M-x compile RET

请参阅Emacs手册,节点Compilation。并查看节点Compilation Mode如何访问错误发生。

另一答案

几年前,我有同样的问题,这是我在#emacs irc频道上得到的答案。

;; from enberg on #emacs
(setq compilation-finish-function
  (lambda (buf str)
(if (null (string-match ".*exited abnormally.*" str))
    ;;no errors, make the compilation window go away in a few seconds
    (progn
      (run-at-time
       "2 sec" nil 'delete-windows-on
       (get-buffer-create "*compilation*"))
      (message "No Compilation Errors!")))))
;; save the file when I press compile
(setq mode-compile-always-save-buffer-p t)

以上是关于启动make并通过Emacs中的快捷方式转到错误位置的主要内容,如果未能解决你的问题,请参考以下文章

Emacs:无法自动启动通过 MELPA 安装的弹丸

跳转emacs中的java方法

如何创建右键单击上下文 shell 快捷方式“使用 Emacs 编辑”?

Emacs警告加载“... / .emacs.el”时发生错误:

使用粘贴时如何跳转到emacs中的函数定义?

我可以更改 emacs 的默认编译命令吗?