Відповіді:
Прочитайте документацію bufdo, вона повинна робити те, що ви хочете.
set noconfirmперш ніж використовувати bufdoкоманду ( set confirmзгодом до повторного доступу).
bufdo eз цікавістю залишає всі буфери не виділеними синтаксисом
:checkt[ime]Команда призначена для цієї мети.
Це запропонує вам перезавантажити будь-які зміни буферів; якщо ви хочете пропустити підказку, ви можете зробити це :set autoreadзаздалегідь (ви все одно отримаєте підказку про буфери з локальними незбереженими змінами).
Це також уникає питання виділення синтаксису, про яке згадував Стівен Лу у прийнятій відповіді; :bufdoвимикає підсвічування синтаксису за дизайном .
Знайдено через: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-highlighting-on-displayed-buffers-tp1209995p1209998.html
Від :help autoread:
Якщо виявлено, що файл змінено поза Vim, і він не змінений всередині Vim, автоматично прочитайте його ще раз. Коли файл буде видалено, цього не робиться.
Якщо, як я, ти просто хочеш завжди пасивно перезавантажувати застарілі, але незмінені буфери, то це здається, що це повинно зробити роботу.
Однак остаточною деталлю є те, коли vim помічає несвіжий буфер. Що можна змусити checktime. Якщо у вас налаштовані події фокусування , ми можемо працювати, checktimeколи ми отримуємо фокус так:
set autoread
autocmd FocusGained * checktime
У цій відповіді є також кілька цікавих деталей.
Як тут згадується @Matthew S https://vi.stackexchange.com/a/462 , ви можете використовувати:
:set noconfirm
:bufdo !e
:set confirm