Netrw 修改目录总是抱怨

Dan*_*son 5 vim netrw

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

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

E37: No write since last change
E162: No write since last change for buffer 
Run Code Online (Sandbox Code Playgroud)

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

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

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

"NetrwTreeListing 1" [Not edited][readonly]
Run Code Online (Sandbox Code Playgroud)

Bri*_*fin 5

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

摆脱这种情况的方法可能是

autocmd FileType netrw setlocal bufhidden=delete
Run Code Online (Sandbox Code Playgroud)

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

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

该 autocmd 设置可能会删除隐藏的修改后的缓冲区,这意味着某天某事,因此将其视为非专业大锤建议,不作任何明示或暗示的保证。