Вопрос

Можно ли сбросить альтернативный буфер в сеансе 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top