有时候message更新太快,很多重要的提示没有看到,怎么同时显示最近3条message,然后5秒后清空
你可以选择鼠标点 echo area 或者 C-x b Messages,花时间看完最近的 log,然后 C-x 0 关闭。
关键是根本不知道啥时候出error或者waring,如果一飘而过的话。自动切换到Messages,并且把窗口缩小到底部也许是个办法。
别的无所谓,就是如果emacs crash后,auto save存在,让那个提示别飘过去了,或者让我确认一下
解决了 3 条的问题提,error 出现在倒数第 4 条怎么办?
5秒一连串出4条以上的message很少吧?最好有一个回放机制,在idle的时候,把在echo area没有显示足2秒的message全部回放1便
如果未读超出某个上限,直接切换到*Message*
3 条难道就很常见?
解决了 3 条的问题,以后遇到 3-n 或 3+n 条的问题,是不是也要逐一解决?最后都解决了,等于没解决。
根本的问题在于你如何使用 message 或 error。
如果你希望 message 作为提示出现在 echo erea,就应该避免它被冲刷掉,不要在它后面继续打印。例如 region-expand 就是用 echo erea 来提示下一步操作的。
如果超出了你能控制的范围,例如有其它 package 在打印信息。可以试试 abo-abo 的 lv-message,把提示信息置顶固定住,最典型的应用就是 hydra。
如果打印的一般的 log,最好就是去 *Messages*
查看,按 C-h e
也不是多难的事。
如果是非常严重的错误,需要立即停下来处理,就不应该当作普通的 message 打印,应该抛出错误。
嗯 不折腾了,还是只解决眼前问题的好
(advice-add 'find-file :after 'my-maybe-recover-this-file)
(defun my-maybe-recover-this-file (filename &optional wildcards)
(when (file-newer-than-file-p (or buffer-auto-save-file-name
(make-auto-save-file-name))
buffer-file-name)
(recover-file buffer-file-name)))
message
没表示重要程度的机制,就你遇到的问题,直接弹出一个确认窗口询问用户是否要恢复文件更为合适,这用 find-file-hook
不难做到。