Odpowiedzi:
Przeczytaj dokumentację bufdo
, aby zrobić to, co chcesz.
set noconfirm
przed użyciem bufdo
polecenia ( set confirm
później, aby ponownie naprawić).
bufdo e
co ciekawe, wszystkie bufory nie są podświetlone
:checkt[ime]
Polecenie jest przeznaczone do tego samego celu.
Wyświetli monit o ponowne załadowanie wszystkich zmienionych buforów; jeśli chcesz pominąć monit, możesz to zrobić :set autoread
wcześniej (nadal będziesz otrzymywać monit o buforach z lokalnymi niezapisanymi zmianami).
Unika również kwestii podkreślania składni, o której wspomniał Steven Lu w zaakceptowanej odpowiedzi; :bufdo
wyłącza podświetlanie składni według projektu .
Znalezione przez: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-highlighting-on-displayed-buffers-tp1209995p1209998.html
Od :help autoread
:
Kiedy wykryto, że plik został zmieniony poza Vimem i nie został zmieniony wewnątrz Vima, automatycznie przeczytaj go ponownie. Po usunięciu pliku nie jest to wykonywane.
Jeśli, tak jak ja, chcesz zawsze biernie ponownie ładować stare, ale niezmodyfikowane bufory, to wydaje się, że powinno to wykonać zadanie.
Jednak ostatni szczegół jest wtedy, gdy vim zauważy nieaktualny bufor. Można to wymusić checktime
. Jeśli masz skonfigurowane zdarzenia fokusowe , możemy je uruchomić, checktime
gdy tylko się skupimy:
set autoread
autocmd FocusGained * checktime
Ta odpowiedź zawiera również kilka interesujących szczegółów.
Jak @Matthew S wspomniano tutaj https://vi.stackexchange.com/a/462 , możesz użyć:
:set noconfirm
:bufdo !e
:set confirm