Сброс буферов в Vim
-
03-07-2019 - |
Вопрос
Можно ли сбросить альтернативный буфер в сеансе vim до того, что было раньше?
Под альтернативным буфером я подразумеваю тот, на который указывает #, т.е.тот, который отображается при вводе cntl-^.
Скажем, у меня открыты два файла main.c иother.c, и :ls дает мне:
1 %a "main.c" lines 27
2 # "other.c" lines 56
Скажем, я открываю другой файл, например.Refer.c, :ls теперь даст мне:
1 %a "main.c" lines 27
2 "other.c" lines 56
3 # "refer.c" lines 125
Если я удалю буфер, содержащий reference.c, :ls теперь покажет:
1 %a "main.c" lines 27
2 "other.c" lines 56
Но если я нажму cntl-^, Refer.c снова отобразится!
Есть ли какой-нибудь способ заставить vim автоматически сбросить альтернативный буфер до того, каким он был в последний раз?«История» альтернативных буферов?
Или я застрял с выполнением :2 b, чтобы перезагрузить файлother.c в альтернативный буфер?
Или, может быть, есть веская причина такого поведения?
Решение
В данном случае «альтернативный» означает просто «предыдущий».Итак, да, :b2 (или 2 ctrl-6), вероятно, самый простой способ изменить, какие два буфера будут переключаться с помощью ctrl-6.
Также обратите внимание на команду :keepalt.