How to have Emacs auto-refresh all buffers when files have changed on disk?
Solution 1
(global-auto-revert-mode t)
in your .emacs.
Solution 2
Here is an alternative if you are using Emacs GUI (Mine is GNU Emacs 25.1.1 on Windows 7):
- Click "Options" in menubar
- Select "Customize Emacs"
- Select "Saved Options"
- Then you should see a search field where you enter "global-auto-revert-mode" and press "Search" button
- Click "Toggle" button and make sure it reads "on" to the right of the button
- Press "Apply and Save" button right below the search field
If you already have a few files opened, you should see this taken effect instantly. Good luck!
Solution 3
Thanks to @Ashwin for pointing out (global-auto-revert-mode t)
. I found that Emacs won't automatically update buffers whose files have changed on disk with this change alone. From https://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html:
By default, Auto-Revert mode works using file notifications, whereby changes in the filesystem are reported to Emacs by the OS. You can disable use of file notifications by customizing the variable auto-revert-use-notify to a nil value, then Emacs will check for file changes by polling every five seconds. You can change the polling interval through the variable auto-revert-interval.
After I set (setq auto-revert-use-notify nil)
, Emacs did indeed refresh all buffers every 5 seconds.
Related videos on Youtube
![Dave](https://i.stack.imgur.com/g5Muh.jpg?s=256&g=1)
Dave
By Day: Owner/Operator of Lumiera, a creative technology studio By Night: Build light sculptures and make music
Updated on September 30, 2021Comments
-
Dave over 2 years
I have a non-emacs global search and replace function that causes my disk files to become more up-to-date than my emacs buffers (en masse). Is there any way to tell emacs to refresh all the buffers from disk in one fell swoop, instead of having to do each one individually by reloading the file?
Thanks! D
-
Dave almost 15 yearsThis looks good in cases where I always want to stay synched, thank you! I think I'll end up using revbuffs so that I can manage conflicts myself ( otherwise sometimes I might lose unsaved changes, the way my workflow currently works. )
-
Natan Yellin about 13 yearsThank you! I'm using a combination of revbuffs and auto-revert-mode. auto-revert-mode works great when I want to overwrite changes.
-
Lindydancer over 12 years@Dave: (global-)auto-reverse-mode will not revert a file if the corresponding buffer is modified, so there should be no risk of you losing unsaved changes.
-
Justin Leitgeb over 10 yearsWorks nicely when switching branches with git. Thanks!
-
Khoa Vo over 2 yearsDid you mean
(setq auto-revert-use-notify nil)
, since it's a variable?