哪些变量名可以自定义存储CEDET自动生成文件的目录,例如ede-projects.el和srecode-map.el?默认情况下它们在〜/ .emacs.d中,但我想将它们移动到其他地方。谢谢!
答案 0 :(得分:2)
对于" ede-projects.el"我在加载Cedet后发现了下一个解决方案:
(setq ede-project-placeholder-cache-file (concat tmp-dir "ede-projects.el"))
其中" tmp-dir"是你想要的一条路。
同样适用于语义:
(setq semanticdb-default-save-directory (concat tmp-dir ".semanticdb"))
对于" srecode-map.el"我没有找到更好的方法来替换" .. \ cedet \ lisp \ cedet \ srecode \ map.el"中的第48行:
(locate-user-emacs-file "srecode-map.el" ".srecode/srecode-map")
与
(locate-user-emacs-file (concat tmp-dir "srecode-map.el") ".srecode/srecode-map")
我不是很确定,但必须有一个变量而不是硬编码的字符串。
答案 1 :(得分:2)
作为对AdVocem的答案的补充(这是完全正确的),这里有一种或多或少的系统方法来查找这些变量:使用命令apropos-value
。
此命令查找其值与给定模式匹配的所有lisp变量。 例如,在您的情况下:
M-x apropos-value
RET ede-projects.el
RET 产生以及其他结果:
[...]
----------------
ede-project-placeholder-cache-file
"~/.emacs.d/ede-projects.el"
----------------
[...]
Mx apropos-value
RET srecode-map.el
RET 没有任何意义:只是一堆标准变量与CEDET无关。
当然,要使其生效,必须预先加载所有相关的库(否则,可能尚未定义变量)。