Я не могу выйти из vim, даже когда печатаю :q!
. Я получаю ошибку
E37: No write since last change (add ! to override)
E162: No write since last change for buffer...
Я думаю, что буфер является NetrwTreeListing только для чтения.
Я не могу выйти из vim, даже когда печатаю :q!
. Я получаю ошибку
E37: No write since last change (add ! to override)
E162: No write since last change for buffer...
Я думаю, что буфер является NetrwTreeListing только для чтения.
Ответы:
Чтобы навсегда решить эту проблему с netrw, я добавил это к своему .vimrc
:
" Per default, netrw leaves unmodified buffers open. This autocommand
" deletes netrw's buffer once it's hidden (using ':q', for example)
autocmd FileType netrw setl bufhidden=delete
От Тима Папы .
Обычно это происходит, если есть два или более буферов, которые были изменены, и Vim обычно переключается между ними и показывает сообщение об ошибке. Поэтому, когда :q!
будет отменен текущий буфер, он не будет прерывать другой модифицированный буфер, поэтому Vim защищает вас от потери изменений и выдает это сообщение об ошибке.
Если вы абсолютно уверены, что хотите отменить все изменения во всех загруженных буферах, просто используйте:qa!
Пытаться
:bdelete!
или
:bd!
коротко. Это означает «удаление буфера» и закроет открытый буфер. (Кредит Эмилю Асмуссену )
После этого вы сможете делать все :q!
как обычно.