如何让Emacs为不同的源文件使用不同的标签?

如果我在Emacs中打开了两个不同的项目 – proj1 / foo.c和proj2 / bar.py – 在查找proj1下的文件标签时,我怎样才能让Emacs使用proj1 / TAGS,在查找时查询proj2 / TAGS proj2下的文件标签? 最佳答案 我认为最简单的DIY方法是
directory-local variables.

$cat proj1/.dir-locals.el
((nil . ((tags-file-name . "~/projects/proj1/TAGS"))))

$cat proj2/.dir-locals.el
((nil . ((tags-file-name . "~/projects/proj2/TAGS"))))

如果Emacs询问您是否“还保留当前的标签列表表?”你应该回答“否”以避免在给定项目中混合表格. (它不应该经常问你这个问题,并且回答“否”不会导致Emacs忘记使用哪个TAGS来处理来自其他项目的文件.)

点赞