首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在文件打开时或在编译模式下重写路径前缀-下一个错误

在文件打开时或在编译模式下重写路径前缀-下一个错误
EN

Stack Overflow用户
提问于 2011-06-22 02:57:44
回答 1查看 229关注 0票数 2

我希望将t/...下的所有路径重写为n/...,以便查找文件(或者就像next-error启动的那样)。我希望我不可能打开t/...版本。

动机:我一直在把一个代码库从NFS (我编辑的地方)同步到/tmp上,所以我的构建速度更快(bjam,这是相当慢的)。我想强制emacs打开NFS版本,而不是始终打开/tmp版本。我想可能有某种find-file钩子可以做到这一点。有什么建议吗?流浪汉可能不会这么做。

如果我的编译缓冲区路径被重写,我也会很高兴。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-22 04:03:27

对于编译,您可以使用变量compilation-finish-functions,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
(add-hook 'compilation-finish-functions 'my-change-tmp-to-nfs)
(defun my-change-tmp-to-nfs (buffer &optional stat)
  "change tmp to nfs"
  (interactive "b")
  (save-excursion
    (set-buffer buffer)
    (goto-char (point-min))
    (let ((buffer-read-only nil))
      (while (re-search-forward "/tmp/" nil t)
        (replace-match "/nfs/")))))

现在,您可能需要更新"/tmp/"和替换的正则表达式。阅读Regexp Search上的内容。你也可以变得花哨,并实际检查你用替换创建的路径是否确实存在……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6430530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档