Vim 的 Netrw :bprev 错误是否有解决方法?
Is there a workaround for Vim's Netrw :bprev bug?
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/#!topic/vim_use/zzeQItJQNZI
要复制此错误,请启动 Vim 和 运行 以下命令:
:ls!
:edit ./file1.txt | ls!
:edit ./file2.txt | ls!
:e. #(choose file3.txt in Netrw)
:edit ./file4.txt | ls!
:ls!
此时,您将看到已打开文件的缓冲区以及一些带有路径的缓冲区,以及一个带有[No Name] 的缓冲区。尝试使用
浏览这些缓冲区
:bnext | ls!
:bprev | ls!
你会发现:bnext 成功循环缓冲区,但:bprev 挂在Netrw 缓冲区上。是否有针对此错误的解决方法,以便使用 :bnext 和 :bprev 的缓冲区导航仍然有效?
编辑 2021-11-28:此处提供更好的解释:
我通过实验发现,如果我删除 [No Name] 缓冲区之前的路径缓冲区,:bprev 将恢复运行。但是,这很麻烦。
相反,我开始使用 :Explore 打开 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/#!topic/vim_use/zzeQItJQNZI
要复制此错误,请启动 Vim 和 运行 以下命令:
:ls!
:edit ./file1.txt | ls!
:edit ./file2.txt | ls!
:e. #(choose file3.txt in Netrw)
:edit ./file4.txt | ls!
:ls!
此时,您将看到已打开文件的缓冲区以及一些带有路径的缓冲区,以及一个带有[No Name] 的缓冲区。尝试使用
浏览这些缓冲区:bnext | ls!
:bprev | ls!
你会发现:bnext 成功循环缓冲区,但:bprev 挂在Netrw 缓冲区上。是否有针对此错误的解决方法,以便使用 :bnext 和 :bprev 的缓冲区导航仍然有效?
编辑 2021-11-28:此处提供更好的解释:
我通过实验发现,如果我删除 [No Name] 缓冲区之前的路径缓冲区,:bprev 将恢复运行。但是,这很麻烦。
相反,我开始使用 :Explore 打开 Netrw。这不会创建潜在缓冲区,它会触发 :bprev,但我仍然能够浏览我的本地目录树并打开文件进行编辑。