Я не можу вийти з 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!
як завжди.