t/...
我希望重写任何路径,n/...
而不是一般的查找文件(或者就像由下一个错误启动的那样)。我希望我无法打开该t/...
版本。
动机:我一直在将代码库从 NFS(我编辑的地方)同步到 /tmp,所以我的构建速度更快(bjam,这很慢)。我想强制 emacs 总是打开 NFS 版本而不是 /tmp 版本。我想有某种查找文件钩子可以做到这一点。有什么建议么?流浪汉可能不会这样做。
我很乐意改写我的编译缓冲区路径。
对于编译,您可以使用变量compilation-finish-functions
,如下所示:
(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/"
, 和替换的正则表达式。阅读正则表达式搜索。您也可以花哨并实际检查您使用替换创建的路径是否确实存在......