Thay vào đó, tôi muốn đóng các tệp và mở bộ đệm mặc định No Name
. Đôi khi tôi vô tình đóng tập tin cuối cùng và tôi phải khởi động lại gvim và cd vào thư mục thích hợp.Làm thế nào để làm cho cửa sổ chính gvim không thoát khi tôi gõ `: q` hoặc`: qa`?
5
A
Trả lời
5
đặt nó trong bạn $ MYVIMRC
function! NumberOfWindows()
let i = 1
while winbufnr(i) != -1
let i = i+1
endwhile
return i - 1
endfunction
function! DonotQuitLastWindow()
if NumberOfWindows() != 1
let v:errmsg = ""
silent! quit
if v:errmsg != ""
"echohl ErrorMsg | echomsg v:errmsg | echohl NONE
"echoerr v:errmsg
echohl ErrorMsg | echo v:errmsg | echohl NONE
endif
else
echohl Error | echo "Can't quit the last window..." | echohl None
endif
endfunction
if has("gui_running")
cnoreabbrev <expr> q getcmdtype() == ":" && getcmdline() == 'q' ? 'call DonotQuitLastWindow()' : 'q'
cnoreabbrev <expr> qa getcmdtype() == ":" && getcmdline() == 'qa' ? 'call DonotQuitLastWindow()' : 'qa'
endif
3
Nếu bạn sử dụng lệnh :close
thay vào đó, lệnh đó sẽ không đóng cửa sổ cuối cùng.
+0
'
4
Tại sao bạn không sử dụng
:bd
để đóng bộ đệm (sau khi bạn đã lưu các thay đổi mới nhất)?
Các vấn đề liên quan
- 1. Làm thế nào để Đóng một cửa sổ trong WPF trên một lối thoát chính
- 2. Làm thế nào để hiển thị lại cửa sổ chính sau khi đóng cửa trong Cocoa?
- 3. Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
- 4. Eclipse không xác nhận thoát khi nhấn lệnh + q
- 5. Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
- 6. Làm thế nào để bạn đặt chính giữa cửa sổ chính của mình trong WPF?
- 7. Mã thoát không chính xác trong python khi gọi cửa sổ script
- 8. Làm cách nào để tải GNU Unifont hoặc Mono miễn phí hoạt động trên các cửa sổ gvim?
- 9. Tôi làm cách nào để làm mới cửa sổ chính từ khung nội tuyến?
- 10. Làm cách nào để bắt đầu gvim bằng cửa sổ được phóng to?
- 11. Làm thế nào để thoát khỏi nodemon trên một cửa sổ
- 12. làm mới cửa sổ mẹ khi đóng cửa sổ con
- 13. Làm thế nào để tắt hoặc ẩn cửa sổ bật lên Thoát toàn màn hình (F11) trong chrome?
- 14. Làm cách nào để thoát khỏi màn hình mà không cần gõ 'thoát'?
- 15. Làm thế nào tôi có thể làm cho cửa sổ API Win32 hiện đại hơn?
- 16. Hộp thoại làm cửa sổ chính?
- 17. Làm cách nào tôi có thể remap khóa macro bản ghi vim từ 'q' sang 'Q'?
- 18. Làm thế nào tôi có thể phát hiện khi nào các cửa sổ mới được mở và/hoặc có danh sách các cửa sổ đang mở?
- 19. làm thế nào để làm cho hình ảnh động cho cửa sổ popup trong android
- 20. Làm cách nào để tôi có thể xử lý cửa sổ chính bằng Python?
- 21. Sau khi gõ vào EditText, làm thế nào để làm cho bàn phím biến mất
- 22. Python làm thế nào để thoát khỏi chức năng chính
- 23. Làm thế nào tôi có thể nhận được các cửa sổ con của một cửa sổ cho HWND của nó?
- 24. Làm thế nào để làm cho một cửa sổ undecorated di chuyển/kéo được trong JavaFX?
- 25. Làm thế nào để thêm các nút vào một cửa sổ chính trong Qt?
- 26. Móc cửa sổ - Làm thế nào để chúng hoạt động?
- 27. Làm thế nào để kích hoạt cửa sổ trong Java?
- 28. Có lệnh nào trong Vim/gVim để kết hợp hai hoặc nhiều tab thành một cửa sổ chia nhỏ không?
- 29. Cửa sổ làm mới dành cho cha mẹ sau khi đóng cửa sổ bật lên
- 30. Làm thế nào để đóng cửa sổ trong awt?
đẹp, và có vẻ an toàn (gọi getcmdline()). Bây giờ,: qa sẽ vẫn thoát, nhưng không q. – Benoit
được cập nhật cho 'qa' – histrio
'DonotQuitLastWindow' sẽ chỉ đóng một cửa sổ… thêm một đối số vào nó và biến nó thành một vòng lặp (' trong khi NumberOfWindows()! = 1') nếu được kích hoạt bởi 'qa'. – Benoit