如何调整Emacs的compile-goto-error从编译缓冲区获取的路径?

2023-12-29

我使用 Emacs 23 并遇到以下问题:

我从 Emacs 中运行我们项目的构建系统,例如 M-xcompile -> cd /foo/bar && ./build

构建系统现在做了一些魔法,“cd”到构建过程的某个子目录中,然后 gcc 抛出一个错误:

../src/somesource.cc:50 错误:blablabla

现在的问题是 Emacs 找不到该路径,因为它假设编译过程是在 /foo/bar 中开始的,而不是在 /foo/bar/builddir 中开始的。因此,前导“../”不适用于 Emacs,例如运行compile-goto-error时。有没有办法告诉 Emacs 尝试跳过前导“../”?


最好的解决方案可能是更改构建系统以在更改目录时发出消息。 Emacs 寻找

Entering directory `...'
... 
Leaving directory `...'

(参见compilation-directory-matcher多变的。如果您的构建系统在更改目录时确实发出消息,但它们不是 Emacs 正在寻找的格式,您可以添加新的正则表达式compilation-directory-matcher.)

另一个解决方案是改变compilation-search-path(这是一个目录列表)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调整Emacs的compile-goto-error从编译缓冲区获取的路径? 的相关文章

  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • Maven:从构建中排除测试

    我在项目的 src test java 文件夹中有一些类用作测试 当我使用标准 Maven 编译插件运行 Maven 时 这些项目被编译成 class 文件 并包含在打包编译代码的 jar 中 在运行 Maven 和构建我的版本之前 我已经
  • C# 开发人员有什么理由应该学习 Emacs/Vim 吗?

    我在一家纯粹的 Microsoft 商店担任 C 开发人员 最近 我开始在工作之余的空闲时间使用 Gas 和 Linux 自学汇编 我喜欢摆弄 Linux 尽管我对它还很陌生 我一直听说我应该学习 VIM 或 Emacs 但事实是 我绝对不
  • Emacs 在多个文件中查找并替换正则表达式 (find-name-dired + Q),不保存我的缓冲区?

    我不明白这是怎么回事 我已经在整个目录中进行了搜索和替换 使用 M x 查找名称 dired RET 选择我的项目的根目录 输入 rb 作为要匹配的文件名 按 t 选择找到的所有文件 按 Q shift Q 开始搜索 替换 输入 交易 作为
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • 在 Emacs 中,如何在迷你缓冲区中显示带有字体属性的消息?

    我想在迷你缓冲区中显示彩色文本字符串 但是当我使用 消息 函数时 文本属性被删除 对我有用 message s propertize foo face foreground red 你可能有 message propertize 它将属性化
  • emacs 中 ansi term 中的奇怪字符

    我编写了一个 C 程序 当我在 ansi term 中使用 g 编译它时 显示了一些奇怪的字符 如果需要 错误是我没有声明变量 n 我该如何纠正这个问题 啊 测试了这个 setq locale coding system utf 8 set
  • 所有编程语言都是按顺序读取的吗?

    我似乎无法找到对此的直接答案 使用多个搜索引擎给我的结果非常模糊 或者只回答了一半的问题 那么 详细来说 当您编写一个程序并对其进行编译 解释时 计算机是按时间顺序顺序读取每一行还是默认情况下跳过 Example 使用 C 风格的源代码 因
  • Org-Mode 中的 FlySpell 可以像 auctex 一样识别 Latex 语法

    原始回复 我试图弄清楚在 auctex 模式下乳胶如何在打开 Flyspell 的情况下似乎不会突出显示任何乳胶功能 这是一个自定义词典文件还是如何实现的 这可以很容易地合并到组织模式文件中 这样它就不会突出显示将导出的插入乳胶代码吗 编辑
  • 在多个 emacs 缓冲区上执行特定命令

    有没有办法在多个缓冲区上执行 emacs 命令 而不必单独选择它们并在每个单独的缓冲区上执行它 我通常打开与特定正则表达式匹配的多个文件 例如 py并希望启用特定模式 例如hs minor mode or glasses mode在每个上
  • 在 Emacs 中,如何更改迷你缓冲区完成列表窗口?

    我想为迷你缓冲区完成列表设置一个特定的窗口 目前 我有 3 个窗口采用此配置 在这种情况下 我想使用左下窗口作为迷你缓冲区完成列表 目前 它似乎是随机的一个窗口 大多数时候它喜欢使用最右边的窗口 它太薄了 无法在我不必水平滚动的情况下显示完
  • SLIME 和 SWANK 入门:Lisp 连接意外关闭:连接被远程对等点断开

    我试图使用 slime connect 函数通过 sbcl 访问远程服务器 我遵循了 slime mov 电影中的所有步骤马可 巴林格 http www guba com watch 30000548671但在为 slime 创建 ssh
  • Raspberry 交叉编译 - 执行程序以“分段错误”结束

    我有一个自己编写的程序 我想从我的 x86 机器上为 Raspberry Pi 构建它 我正在使用 eclipse 生成的 makefile 并且无法更改此内容 我已经阅读了 CC for raspi 的教程 Hackaday 链接 htt
  • Qt 编译器标志顺序

    我的目标是消除某些类型的编译器警告 我发现可以通过在 pro 文件中添加编译器标志来做到这一点 QMAKE CXXFLAGS Wno unused variable Wno reorder 问题是它们被添加在 Qt 构建系统生成的标志之前
  • Emacs 打字骨架对插入也许

    在 Eclipse 中 编辑 Java 代码时 如果我输入一个左括号 我会得到一对括号 如果我然后 输入 第二个括号 它不会插入额外的括号 我如何在 emacs 中得到它 Eclipse 编辑器足够聪明 当我输入闭括号时 它知道我刚刚完成了
  • 基于扩展的 Emacs auto-minor-mode

    I found 这个问题 https stackoverflow com questions 1299193 in emacs how to automatically enable a minor mode based on buffer
  • 对齐 emacs lisp 中的正则表达式

    我正在尝试使用以下 elisp 函数来对齐文本 defun align Align lines by interactive align regexp region beginning region end 我正在尝试对齐以下文本 offe
  • 如何让Emacs显示与实际存储的不同的字符?

    我想使用Elisp为Emacs实现动态文本替换 仅替换显示 不替换实际存储的文件 例如 在 LaTeX 文档中 我想输入 alpha 然后让 Emacs 将其显示为 因此更容易阅读 但在结果中 tex文件 我还想要 alpha 代替 被拯救

随机推荐