Podczas pracy nad gałęzią funkcji git
często muszę ukryć moje zmiany, aby naprawić błąd w głównej gałęzi. Kiedy skończę pracować nad zmianami, ja git stash pop
, który aktualizuje znaczniki czasu plików.
Mimo że pliki są identyczne, przy następnej próbie zapisania otrzymuję:
OSTRZEŻENIE: Plik został zmieniony od czasu jego odczytu !!!
Czy naprawdę chcesz do niego napisać (t / n)?
Nie chcę automatycznie ponownie ładować pliku za każdym razem, gdy zmienia się on na dysku, tylko gdy ja git stash pop
.
W tej chwili ręcznie ponownie ładuję każdy bufor osobno ( :e
). Czy mogę to zrobić za pomocą jednego polecenia?
:bufdo! e
.Możesz to zrobić za pomocą
:checktime
polecenia. Z dokumentów :Polecenie zapyta, co zrobić dla każdego bufora, którego plik ma zmieniony znacznik czasu. Aby wyłączyć to dla plików, które nie uległy zmianie, możesz
:set autoread
zmusić vima do ich ponownego załadowania. vim będzie zapytać, czy zawartość między bufora oraz pliku na dysku uległy zmianie.W celu ułatwienia użytkowania możesz ustawić mapę podobną do poniższej:
źródło
nnoremap tl :tabnext<CR>:checktime<CR>
gvim
może być związana zFocusGained
wydarzeniem wvim
. Kilka powiązanych informacji można znaleźć tutaj - unix.stackexchange.com/a/383044/99801 .