每当我使用 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使用,并且还没有碰到一些笨拙的开/关边缘情况。
该 autocmd 设置可能会删除隐藏的修改缓冲区,这在某一天意味着什么,因此请将其视为非专业的大锤建议,不作任何明示或暗示的保证。