Netrw 修改目录总是报错

Netrw modifying directories always complains

每当我使用 netrw 的 mt mf mc 命令(例如)或只是 d 创建新目录、副本、文件等时,我的 vim 就会进入一个状态它绝对不会(我知道)从那里退出。

即使我尝试从 netrw 目录视图中键入 q!,我也会得到:

E37: No write since last change
E162: No write since last change for buffer 

从字面上看,我剩下要做的就是终止我的终端进程。

假设我无法更改此环境中的权限。我还有哪些选择?完全避免 netrw 管理目录?

而且我在编辑文件后总是看到这种情况:

"NetrwTreeListing 1" [Not edited][readonly]

netrw 创建和修改隐藏缓冲区。

摆脱困境的方法可能是

autocmd FileType netrw setlocal bufhidden=delete

那个可以放在~/.vimrc里,然后q! netrw 工作后会让你出去。

这是通过 Tim Pope 提供的,https://github.com/tpope/vim-vinegar/issues/13#issuecomment-47133890 但该线程中还有其他评论指出该设置可能并不总是有效。在这里工作,但这可能是运气,非常轻的 newrw 使用,并且没有碰到一些 bufhidden on/off 边缘情况。

那个 autocmd 设置可能会删除一个隐藏的修改缓冲区,这在某天意味着什么,所以把这当作不专业的大锤建议,没有明示或暗示的保证。