5

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

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

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

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

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

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

"NetrwTreeListing 1" [Not edited][readonly]
4

1 回答 1

5

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

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

autocmd FileType netrw setlocal bufhidden=delete

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

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

该 autocmd 设置可能会删除隐藏的已修改缓冲区,这在某天意味着某些事情,因此请将此视为非专家的大锤建议,不提供任何明示或暗示的保证。

于 2018-11-26T14:02:43.080 回答