Відповіді:
Прочитайте документацію 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