A point that I think is relevant here. Which basically comes down to, "Why would one bother?" And helps to decide which solution to choose.
Let me start with terminology. There are active buffers (buffers which are open in some window, even if the window is not visible at the moment, e.g. on a different tab). When you abandon a buffer b (switch to some other buffer, or close some window, and b is no longer displayed in any window, including the non-visible ones), b becomes hidden if &hidden and unloaded otherwise.
From what I can see after executing a shell command (!:) vim does checktime. That is, it checks every active buffer and asks if the user wants to reload it (:bufdo executes a command in every buffer, including hidden and unloaded).
vim also checks if a buffer needs to be reloaded when the user switches to it. If the buffer was unloaded, it simply loads it (which makes sense). If the user switches to a hidden buffer, vim asks if the buffer should be reloaded.
When you do :lvim vim uses:
- content in the buffers (possibly stale) in case of active and hidden buffers
- content on the disk if case of unloaded buffers
Now let's say you're working on a project, have an active buffer b and switch to some other commit (:!git checkout ...). In this case vim asks you if you want to reload b if it was changed.
Let's say b was hidden, and before the switch a variable someName was mentioned in the file. But after the switch the variable is named someOtherName. vim will not ask you if you want to reload b. Then you do :lvim someOtherName **/*, and in this case vim will not find matches in b.
This is no argument against hidden buffers, but something to be aware of.
:bufdo! e. – kenorb Apr 18 '15 at 21:22:bufdo e!. Because to edit a different file in a buffer that has unsaved changes, without prompting, we can doe! file. It's theethat needs forcing, not thebufdoiteration. – Kaz Jan 12 '24 at 22:04:bufdo e. It brings the last buffer visited into the foreground. What if you want to reload buffers without changing which buffer is current? I use a buffer manager with a LRU display: recently viewed buffers closer to top. This:bufdo emesses with it; it visits every buffer and makes it the most recent buffer. – Kaz Jan 12 '24 at 22:09