Есть ли обходной путь для ошибки Vim Netrw:bprev?

В файловом менеджере Vim Netrw есть следующая ошибка: Выполнение команды: e. откроет Netrw, но после закрытия Netrw в списке буферов Vim будет скрытый буфер, который нельзя просмотреть командой:bprev. (:bnext работает отлично.)

Эта ошибка обсуждается в следующих местах:

https://www.bountysource.com/issues/45921122-previous-doesn-t-work-with-e-buffer

https://groups.google.com/forum/

Чтобы повторить эту ошибку, запустите Vim и выполните следующие команды:

:ls!
:edit ./file1.txt | ls!
:edit ./file2.txt | ls!
:e. #(choose file3.txt in Netrw)
:edit ./file4.txt | ls!
:ls!

На этом этапе вы увидите буферы для файлов, которые вы открыли, а также некоторые буферы с путями и буфер с [Без имени]. Попробуйте перемещаться по этим буферам с

:bnext | ls!
:bprev | ls!

Вы обнаружите, что: bnext успешно зацикливается на буферах, но: bprev зависает в буфере Netrw. Есть ли обходной путь для этой ошибки, чтобы по-прежнему работала навигация по буферу с: bnext и: bprev?

1 ответ

Решение

В ходе экспериментов я обнаружил, что:bprev возобновит работу, если я удалю буфер пути непосредственно перед буфером [No Name]. Однако это обременительно.

Вместо этого я начал использовать:Explore, чтобы открыть Netrw. Это не создает скрытый буфер, который отключается:bprev, но я все еще могу просматривать дерево локальных каталогов и открывать файлы для редактирования.

Другие вопросы по тегам