Không thể thoát Vim ngay cả khi sử dụng q!


14

Tôi không thể thoát vim ngay cả khi tôi gõ :q!. Tôi nhận được lỗi

E37: No write since last change (add ! to override)
E162: No write since last change for buffer...

Tôi nghĩ bộ đệm là NetrwTreeListing chỉ đọc.

Câu trả lời:


11

Để giải quyết vấn đề phiền toái này với netrw vĩnh viễn, tôi đã thêm nó vào .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

Từ Giáo hoàng Tim .


6

Điều này thường xảy ra, nếu có hai hoặc nhiều bộ đệm được sửa đổi và Vim thì thường bật / tắt giữa chúng và hiển thị thông báo lỗi. Vì vậy, khi :q!hủy bỏ bộ đệm hiện tại , nó sẽ không hủy bỏ bộ đệm đã sửa đổi khác, do đó Vim bảo vệ bạn khỏi mất các thay đổi và đưa ra thông báo lỗi này.

Nếu bạn hoàn toàn chắc chắn, bạn muốn hủy bỏ tất cả các sửa đổi đối với tất cả các bộ đệm đã tải, thì chỉ cần sử dụng:qa!


5

Thử

:bdelete!

hoặc là

:bd!

cho ngắn gọn Điều này là viết tắt của "xóa bộ đệm" và sẽ đóng bộ đệm bạn đã mở. (Tín dụng cho Emil Asmussen )

Sau đó, bạn sẽ có thể làm :q!như bình thường.


2
Ok, nhưng tại sao nó không cho phép tôi bỏ thuốc lá?
Tyler Durden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.