Есть ли обходной путь для ошибки 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, но я все еще могу просматривать дерево локальных каталогов и открывать файлы для редактирования.