如何让Emacs自动重新加载TAGS文件?

29

当重新生成TAGS文件后,我尝试在Emacs中查看标签(M-.),Emacs会询问我是否要重新读取该文件:

Tags file /path/to/TAGS has changed, read new contents? (yes or no)

每次都需要输入yes,不太方便 (M-. Enter y e s Enter需要按7个键,而Vim只需按2个)。

如何配置Emacs以静默地读取更新后的TAGS文件,而不进行询问?

1个回答

44
(setq tags-revert-without-query 1)

编辑:在找到上面的答案之前,我建议添加这行代码:

(defalias 'yes-or-no-p 'y-or-n-p)

.emacs文件中的tags-revert-without-query设置为非nil值,这样每次被问及是否要重新读取该文件时,如果你不想使用查询,则只需按' y '。在这种情况下,M-. y只比Vim多一个按键。

如果有人发现这个信息有用,我会保留它在这里。


谢谢。一些需要是或否回答的问题很严肃。我不想为所有这些问题启用<kbd>y</kbd>。 - sastanin
@jetxee:是的,你说得对。有时候这可能很危险。它会强迫你在按键之前先阅读 :-) 我已经更新了我的答案,并提供了一个可能解决你问题的方案。那符合你的需求吗? - darioo
无法为使用defalias的答案投票,编辑(在我看来)应该删除编辑:行以上的所有内容。 - Trey Jackson
@Trey:已编辑。我不想删除所有内容,因为其他评论可能就没有太多意义了。 - darioo
1
谢谢。tags-revert-without-query 是我需要的。 - sastanin
1
谢谢您提供这个。在找到它之前,我都快疯了。我总是没有注意到提示,然后去做其他事情,结果后来却遇到了意外的“Command attempted to use minibuffer while in minibuffer”错误。例如,我可能没有注意到Emacs已经显示了提示,然后尝试在其显示时打开一个文件。 - Benilda Key

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接