最近遇到两个开global-auto-revernt-mode
造成的卡顿:
- 打开一个几百M大小的log文件,然后做其他事情去了,忘记它是打开的。log在持续写入,不断revert,卡到无法操作。
- 用dired打开了一个包含几千个文件的目录,然后就去编辑其中的某个文件了,忘记目录是打开的。开profile操作一段时间后,发现revert-buffer平均cpu占用超过10%。关掉这个buffer后,就不卡了。
如何设置只有当前可见的buffer,才auto-revert呢?
最近遇到两个开global-auto-revernt-mode
造成的卡顿:
如何设置只有当前可见的buffer,才auto-revert呢?
改用mode hook来enable auto-revert-mode
吧,它是针对当前buffer打开的。比如
(add-hook 'prog-mode '(lambda () (auto-revert-mode 1)))
你 没有 关闭
666 但还是希望switch到这个log buffer后,它能auto-revert
嗯,有时候干别的事情去了,忘记开着这家伙。而且还要回来关注这个log的,所以不打算关闭它
简单的办法是让auto-revert使用定时器去检测变化,同时把定时器的周期设置长一点,默认是5秒, 这样5秒才刷新一次,应该不会卡顿。
(setq auto-revert-use-notify nil)
那log的buffer不自动revert,然后绑个快捷键手动revert-buffer
?
说起来log这种文件我肯定去terminal里看了,怕玩崩emacs